PHpullh
학습 라이브러리/Kotlin/Nullable 심화 (Elvis & Let)

KOTLIN · 기초 문법

Nullable 심화 (Elvis & Let)

Kotlin의 null 안전 연산자들을 조합하여 복잡한 null 처리를 간결하게 작성합니다. ?., ?:, let의 활용법입니다.

기초 문법중급nullableelvissafe-calllet

핵심 설명

Kotlin의 null 안전 연산자들을 조합하여 복잡한 null 처리를 간결하게 작성합니다. ?., ?:, let의 활용법입니다.

Kotlin code

data class Address(val city: String?)
data class User(val name: String, val address: Address?)

fun process(user: User?) {
    // 안전 호출 체이닝
    val city = user?.address?.city ?: "알 수 없음"
    println("도시: $city")

    // let으로 null이 아닐 때만 실행
    user?.address?.city?.let { c ->
        println("확인된 도시: $c")
    }

    // also와 결합
    user?.also {
        println("사용자: ${it.name}")
    } ?: println("사용자 없음")
}

fun main() {
    process(User("김철수", Address("서울")))
    process(User("이영희", null))
    process(null)
}

학습 팁

?: Elvis 연산자의 오른쪽에 throwreturn을 배치하여 조기 반환 패턴을 구현할 수 있습니다: val v = x ?: return

주의할 점

let 블록 내에서 it은 이미 non-null입니다. 불필요하게 it?.property로 접근하지 마세요.

자주 묻는 질문

Nullable 심화 (Elvis & Let)란 무엇인가요?

Kotlin의 null 안전 연산자들을 조합하여 복잡한 null 처리를 간결하게 작성합니다. ?. , ?: , let 의 활용법입니다.

Nullable 심화 (Elvis & Let) 학습 시 주의할 점은 무엇인가요?

let 블록 내에서 it 은 이미 non-null입니다. 불필요하게 it?.property 로 접근하지 마세요.