Kotlin/포스팅

코틀린 스마트 캐스트

짜집퍼박사(짜박) 2023. 12. 30. 15:46

코틀린에서는 스마트 캐스트(Smart Cast)라는 기능을 제공하여 코드를 간결하게 작성하고, 타입을 안전하게 캐스팅할 수 있습니다. 스마트 캐스트는 특정 조건이 충족될 경우 자동으로 타입을 캐스트해주는 기능을 말합니다.

일반적으로 스마트 캐스트는 다음과 같은 상황에서 사용됩니다.

 

1. is 연산자를 통한 검사 후의 변수 사용

fun processValue(value: Any) {
    if (value is String) {
        // value는 String 타입으로 자동 캐스트됨
        println(value.length)
    }
}

 

2. when 식에서의 스마트 캐스트

fun processValue(value: Any) {
    when (value) {
        is String -> println(value.length)
        is Int -> println(value * 2)
    }
}

 

3. null 체크 후의 변수 사용

fun processValue(value: String?) {
    if (value != null) {
        // value는 자동으로 null이 아닌 String 타입으로 캐스트됨
        println(value.length)
    }
}

스마트 캐스트를 사용하면 코드가 간결해지고, 타입 캐스팅과 관련된 부분에서 안전성이 높아집니다. 코틀린 컴파일러는 코드의 흐름을 분석하여 적절한 위치에서 자동으로 스마트 캐스트를 수행합니다.

다만, 스마트 캐스트는 코드 블록 내에서만 유효하며, 코드 블록을 벗어나면 다시 타입을 명시적으로 캐스팅해야 합니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 안전한 호출 연산자  (0) 2023.12.30
코틀린 널 아님 단언 연산자  (0) 2023.12.30
코틀린 널 가능성  (0) 2023.12.30
코틀린 지역 클래스  (0) 2023.12.30
코틀린 내포된 클래스  (0) 2023.12.30