[kotlin] null 타입을 처리하는 패턴 매칭 기법

Kotlin은 안전한 nullable 타입 시스템을 갖추고 있지만, 때때로 null 값을 다루는 것이 필요합니다. 이때 when 표현식을 사용하여 null 값을 처리하는 패턴 매칭 기법을 적용할 수 있습니다.

기본적인 사용법

val name: String? = ...


val message = when {
    name != null -> "Hello, $name"
    else -> "Hello, guest"
}

위의 코드에서 name이 null이 아닌 경우에는 해당 이름을 사용하여 인사말을 생성하고, null인 경우에는 “Hello, guest”라는 기본 인사말을 생성합니다.

Safe Call 연산자와 함께 사용하기

val length = name?.length


val result = when {
    length != null -> "The length of the name is $length"
    else -> "The name is null"
}

위의 코드는 Safe Call 연산자 ?.를 사용하여 name이 null이면 length를 평가하지 않고 null을 반환합니다. 이를 통해 null 값 검사를 간소화할 수 있습니다.

is 연산자를 활용하기

val person: Person? = ...


val message = when {
    person is Person -> "Welcome, ${person.name}"
    else -> "Welcome, guest"
}

위의 코드는 is 연산자를 사용하여 person 객체가 Person 타입의 인스턴스인 경우에만 해당 객체의 속성을 가져와 사용합니다. 이를 통해 null 여부를 명시적으로 확인하고 처리할 수 있습니다.

패턴 매칭 기법 활용의 장점

Kotlin의 패턴 매칭 기법을 활용하여 null 값 처리를 보다 효율적이고 안전하게 수행할 수 있습니다.

참고 문헌: