[Kotlin in Action]을 읽고 배운 내용을 정리한 포스트입니다. 👻
main.kt
data class Person( // Kotlin이 제공하는 data class
val name: String,
val age: Int? = null, // Nullable type && default value
) // Constructor, Getter, Setter, toString 등을 따로 정의하지 않아도 된다!
fun main() {
val persons = listOf(
Person("david"),
Person("karl", age = 29)
)
// lambda expression && Elvis operator
val oldest = persons.maxByOrNull { it.age ?: 0 }
println("oldest: $oldest")
}
Output
oldest: Person(name=karl, age=29)
NullPointerException
이 발생할 수 있는 연산을 사용하는 코드를 금지함 + ClassCastException
을 방지함코틀린 빌드 과정
Gradle, Maven 등의 빌드 도구를 이용하면 코틀린과 자바가 코드베이스에 함께 들어있는 혼합 언어 프로젝트를 빌드하고 실행할 수 있습니다. 둘 모두 애플리케이션을 패키지할 때 알아서 코틀린 런타임을 포함시킵니다.
Kotlin plugins (IntelliJ IDEA, Android Studio)
IntellJ IDEA나 안드로이드 스튜디오에는 코틀린 플러그인이 기본적으로 포함되어 있어 별도로 플러그인을 설치할 필요가 없습니다.
대화형 Shell
REPL(Read-Eval-Print Loop)을 지원하므로 kotlinc 명령을 line-by-line으로 실행할 수 있습니다.
Playground
http://try.kotl.in 에 접속하면 웹상에서 코틀린 코드를 작성하고 컴파일 & 실행 결과를 쉽게 확인해볼 수 있습니다.
Java-Kotlin Converter
IntelliJ IDEA의 Code > Convert Java File to Kotlin File을 선택하면 자바 파일을 통째로 코틀린으로 변환할 수 있습니다. 컨버터가 항상 최선의 코틀린 코드를 제공하지는 않지만 잘 작동하는 코틀린 코드를 알려주므로 자바로 구현한 기능 또는 파일을 코틀린으로 쉽게 번역하여 사용할 수 있습니다.
Kotlin의 특성과 장점을 정리하였습니다. Kotlin을 통한 서버 애플리케이션을 개발할 때 위 특성을 이해하고 있다면 Kotlin 스타일 코드를 작성하는 데 도움이 될 것입니다! 😻