[kotlin] 코틀린(Kotlin) 타입 추론과 스마트 캐스트

코틀린은 정적 타입 지정 언어이지만, 타입 추론을 지원하여 코드를 간결하게 작성할 수 있습니다. 또한, 스마트 캐스트를 활용하여 코드의 안전성을 높일 수 있습니다.

코틀린의 타입 추론

코틀린에서는 변수의 타입을 명시적으로 선언하지 않아도 초기화된 값에 따라 변수의 타입이 추론됩니다.

예를 들어, 다음과 같이 변수를 선언할 수 있습니다.

val name = "John" // name은 String으로 추론됨

위 예제에서 name 변수의 타입을 명시적으로 지정하지 않았지만, “John”이라는 문자열 값에 의해 name 변수의 타입이 자동으로 String으로 추론됩니다.

코틀린의 타입 추론은 코드를 간결하게 작성할 수 있도록 도와줍니다.

코틀린의 스마트 캐스트

코틀린은 스마트 캐스트를 통해 타입 안전성을 높일 수 있습니다.

예를 들어, 다음과 같이 is 연산자를 사용하여 타입을 검사하고, 해당 변수를 바로 해당 타입으로 사용할 수 있습니다.

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

위 예제에서 obj 변수가 String 타입인지 검사한 후, 조건이 참이면 objString 타입으로 자동으로 캐스트하여 length 프로퍼티에 접근할 수 있습니다.

스마트 캐스트를 사용하면 타입 변환을 명시적으로 처리할 필요가 없어져 코드를 더욱 간결하게 만들 수 있습니다.

코틀린의 타입 추론과 스마트 캐스트를 적절히 활용하면 코드의 가독성과 안전성을 높일 수 있습니다.

이상으로 코틀린의 타입 추론과 스마트 캐스트에 대해 알아보았습니다.

참고문헌: 코틀린 공식 문서