[kotlin] 널 값 확인을 위한 타입 검사 연산자

Kotlin은 안전한 널 값 처리를 지원하며, 이를 위해 타입 검사 연산자(is)를 제공합니다. 이것은 널 값이 될 수 있는 변수가 특정 타입인지 확인하고, 안전하게 다루는 데에 사용됩니다.

is 연산자

is 연산자는 변수나 식이 특정 타입인지 검사합니다. 만약 변수가 해당 타입이면, 실행 중에 다른 변수로 캐스팅할 필요 없이 해당 타입의 속성과 함수에 접근할 수 있습니다.

val str: String? = "Hello"
if (str is String) {
    println(str.length) // 널 값이 아니기 때문에 안전하게 접근 가능
}

위 예제에서, strString 타입인지 확인한 후에 length 속성에 안전하게 접근하였습니다.

스마트 캐스트

is 연산자를 활용하면, 해당 타입으로의 자동 캐스팅(스마트 캐스트)이 가능합니다. 따라서 추가적인 형변환 없이 is를 통한 타입 검사 이후에는 해당 타입으로의 안전한 접근이 가능합니다.

val str: Any = "Hello"
if (str is String) {
    println(str.length) // 스마트 캐스트를 통해 String으로 캐스팅되어 안전하게 접근 가능
}

위 예제는 Any로 선언된 str 변수를 String으로 안전하게 접근하는 것을 보여줍니다.

이러한 타입 검사 연산자스마트 캐스트를 사용하여 Kotlin에서 널 값 처리를 안전하게 수행할 수 있습니다.

더 많은 정보는 Kotlin 공식 문서를 참고하세요.