코틀린의 특징을 보여줄 수 있는 작은 예제
data class Person(val name: String, <- 데이터 클래스
val age: Int? = null) // null이 될 수 있는 타입(Int?)과 파라미터 디폴트 값
fun main(args: Array<String>) { // 최상위 함수
val persons = listOf(Person("영희"),
Person("철수", age = 29)) // 이름이 붙은 파라미터
val oldest = persons.maxBy { it.age ?: 0 } // 람다 식과 엘비스 연산자
println("나이가 가장 많은 사람: $oldest") // 문자열 템플릿
}
// 결과 나이가 가장 많은 사람: Person(name=철수, age=29) // toString 자동 생성
예제에서 알 수 있는 코틀린 특징
1. age 프로퍼티의 디폴트 값은 null
2. 영희의 나이를 지정하지 않았기 때문에 null
3. 리스트에서 가장 나이가 많은 사람을 찾기 위해 maxBy 함수 사용
- maxBy 함수에 전달한 람다 식은 파라미터 하나를 받는데, it을 사용하면 람다 식의 유일한 인자 사용 가능
- 엘비스 연산자 ?:는 age가 null인 경우 0을 반환하고, 그렇지 않은 경우 age 값 반환 (영희의 나이를 null이 아닌 0으로)
'Kotlin' 카테고리의 다른 글
[Kotlin in Action] 2.1 기본 요소: 함수와 변수 (0) | 2025.03.14 |
---|---|
[Kotlin in Action] 1.5 코틀린 도구 사용 (0) | 2025.03.14 |
[Kotlin in Action] 1.4 코틀린의 철학 (0) | 2025.03.13 |
[Kotlin in Action] 1.3 코틀린 응용 (0) | 2025.03.13 |
[Kotlin in Action] 1.2 코틀린의 주요 특성 (0) | 2025.03.13 |
댓글