[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 여부를 명시적으로 확인하고 처리할 수 있습니다.
패턴 매칭 기법 활용의 장점
- 가독성 향상: 간결한 구문으로 null 처리 로직을 명확하게 표현할 수 있습니다.
- 안전성 확보: null 포인터 예외를 방지하고 안전하게 null 값을 다룰 수 있습니다.
- 코드 간소화: 패턴 매칭을 통해 복잡한 null 처리 코드를 간소화할 수 있습니다.
Kotlin의 패턴 매칭 기법을 활용하여 null 값 처리를 보다 효율적이고 안전하게 수행할 수 있습니다.
참고 문헌: