그동안 Android 개발을 해오면서 Kotlin으로 코드를 작성하긴 했지만 왜 이렇게 쓰는지에 대해서는 고민해 본 적이 없었던 것 같다. Kotlin이 뭔지도 모르는 상태에서 얼레벌레 Android 개발을 시작했고, 남들이 잘 짜놓은 코드를 보며 이런 기능은 이렇게
Kotlin in Action의 1장에서는 코틀린의 기본 기능과 특성, 활용 분야, 장점 등에 대해 다룬다. 사실 이 내용은 Kotlin에 대해 구글링 몇 번만 해보면 알 수 있는 내용들이다. 따라서 1장은 책 내용을 기반으로 하기 보다는 내가 생각하는 Kotlin의
함수와 변수 1. Hello, World! Hello, World 출력 함수를 보며 Kotlin의 특성을 간단히 스캔해보자. fun (파라미터 이름: 파라미터 타입) 이 때 fun은 함수 선언 키워드 함수를 최상위 수준에 정의할 수 있음
코틀린에서 컬렉션 만들기 위 코드를 보면 Java와 상당히 유사해보이는데, 그럴만한 이유가 있다. >Kotlin은 자체 컬렉션 기능을 제공하지 않는다. 표준 Java 컬렉션을 활용하면 Java 코드와 상호작용하기가 훨씬 더 쉽기 때문이다. Java에서 Kotlin
코틀린의 클래스와 인터페이스는 자바 클래스, 인터페이스와는 약간 다르다. 예를 들어 인터페이스에 프로퍼티 선언이 들어갈 수 있다. 자바와 달리 코틀린 선언은 기본적으로 final이며 public이다. 게다가 중첩 클래스는 기본적으로는 내부 클래스가 아니다. 즉, 코틀린
람다 식 또는 람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각을 뜻한다. 람다를 사용하면 쉽게 공통 코드 구조를 라이브러리 함수로 뽑아낼 수 있다. 코틀린에서는 컬렉션 처리에 람다를 자주 사용한다.5장에서는 컬렉션을 처리하는 패턴을 표준 라이브러리 함수에
널 가능성 1. 널이 될 수 있는 타입 2. 타입의 의미 3. 안전한 호출 연산자: ?. 4. 엘비스 연산자: ?: 5. 안전한 캐스트: as? 6. 널 아님 단언: !! 7. let 함수 8. 나중에 초기화할 프로퍼티 9. 널이 될 수 있는 타입 확장 10. 타입 파
6장까지는 코틀린을 코틀린답게 쓰는 방법을 알아봤다. 코틀린의 특성을 알고, 코드를 이해하고, 활용할 수 있도록 말이다. 6장까지를 잘 마쳤다면 코틀린을 기존 라이브러리나 API와 함께 사용할 수 있게 되었을 것이다. 7장부터는 지금까지 익힌 코틀린을 활용해 API를
고차 함수 정의 고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수다. 특히 코틀린에서는 람다나 함수 참조를 사용해 함수를 값으로 표현할 수 있다. > 따라서 고차 함수는 람다나 함수 참조를 인자로 넘길 수 있거나 람다나 함수 참조를 반환하는 함수다. 1.
제네릭스를 사용하면 타입 파라미터를 받는 타입을 정의할 수 있다. 제네릭 타입의 인스턴스를 만들려면 타입 파라미터를 구체적인 타입 인자로 치환해야 한다.타입 파라미터를 사용하면 "이 변수는 리스트다" 라고 말하는 대신 정확하게 "이 변수는 문자열을 담는 리스트다"라고
지금까지 클래스와 함수를 사용하는 여러 코틀린 특성을 살펴봤다.하지만 그 모든 것들은 함수나 클래스 이름을 소스코드에서 정확히 알고 있어야만 사용할 수 있는 기능이었다.어떤 함수를 호출하려면 그 함수가 정의된 클래스의 이름과 함수이름, 파라미터 이름 등을 알아야만 했다
11장에서는 영역 특화 언어 DSL을 사용해 표현력이좋고 코틀린다운 API를 설계하는 방법을 알아본다.코틀린 DSL 설계는 코틀린 언어의 여러 특성을 활용한다.첫 번재 특성은 5장에서 간략하게 살펴본 수신 객체 지정 람다다. 수신 객체 지정 람다를 사용하면 코드 블록에