본문 바로가기
반응형

2023년 이전/kotlin29

kotlin - 컬렉션 함수형 API [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] 코틀린의 장점은 다시 생각해봐도 일부 기능을 컴파일러에서 대신 해주는것과 다양한 라이브러리 함수에 있는것 같습니다. 그중에서 컬렉션을 다루는 코틀린 표준 라이프러리 함수를 확인해 보겠습니다. filter와 map filter 함수는 뜻 그대로 컬렉션을 이터레이션하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 모은다. fun main(args: Array) { val list = listOf(1, 2, 3, 4) println(list.filter { it % 2 == 0 }) } 위에 list함수의 값을 filter하는데 그 값을 2로 나누었을 때 나머.. 2020. 3. 2.
kotlin - 람다식 [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] 람다 식(또는 람다)는 함수를 값처러 다루는 식으로 객체지향보다 함수지향 언어에 가깝습니다. 람다식은 주로 고차 함수에 인자로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰입니다. 그리고 코틀린은 이런 람다식을 많이 사용합니다. 람다 소개 람다식을 사용하면 함수를 선언할 필요가 없고 코드 블록을 직접 함수의 인자로 전달할 수 있습니다. 다음은 안드로이드에서 button에 clickListener를 적용하는 코드 입니다. button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View view).. 2020. 2. 26.
kotlin - object 키워드 [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] 코틀린에서 object 키워드는 다양하게 사용되지만 모든 경우 클래스를 정의하면서 동시에 인스턴스를 생성한다는 고통점이 있습니다. (이 object 키워드 때문에 Object 객체가 없고 대신 Any가 있습니다.) 객체 선언 : 싱글턴 만들기 객체지향 시스템을 만들다보면 인스턴스가 하나만 필요한 클래스가 필요할 때가 있습니다. 자바에서는 보통 다음과 같이 작성하여 싱글턴 클래스를 만듭니다. public class SingleTon { private static SingleTon mSingleton; public static SingleTon getInstance() { if (.. 2020. 2. 25.
kotlin - 데이터 클래스와 클래스 위임 [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] 자바에서 보면 toString, hashCode, equals 제공합니다. 코틀린 컴파일러는 이런 메소드들을 생성하는 작업을 보이지 않는 곳에서 해줍니다. 그래서 소스 코드를 깔끔하게 유지 할 수 있도록 해줍니다. 자바와 마찬가지로 toString, equals, hashcode 등을 오버라드 해서 사용할 수 있습니다. 그런 간단하게 어떻게 사용 되는지 보겠습니다. toString 보통 디버깅이나 로깅 시 클래스의 인스턴스를 문자열로 표현하게 되는데 그럴때 나오는 값은 클래스이름@주소 의 형태로 개발자에게 직관적인 정보를 주지 못합니다. 그래서 toString을 오버라이드 하면.. 2020. 2. 25.
반응형