본문 바로가기
Kotlin

[Kotlin in Action] 1.1 코틀린 맛보기

by Nhahan 2025. 3. 13.

코틀린의 특징을 보여줄 수 있는 작은 예제

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으로)

 

 

댓글