[kotlin] 코틀린에서의 데이터 타입 검사와 캐스팅 방법 in 코틀린

코틀린은 정적 타입 언어이므로 변수의 타입을 명확히 지정해야 합니다. 때때로 우리는 변수의 타입을 확인하거나 다른 타입으로 캐스팅해야 하는 경우가 있습니다.

타입 검사 (Type Checking)

코틀린에서는 is 키워드를 사용하여 변수의 타입을 검사할 수 있습니다. 다음의 예시를 통해 알아보겠습니다.

fun getType(value: Any): String {
    if (value is String) {
        return "String 타입입니다"
    }
    if (value is Int) {
        return "Int 타입입니다"
    }
    return "다른 타입입니다"
}

위의 코드에서 is 키워드는 변수 value가 특정 타입인지를 검사하며, 각각의 타입에 맞게 적절한 동작을 수행할 수 있습니다.

타입 캐스팅 (Type Casting)

코틀린에서의 타입 캐스팅은 as 키워드를 사용하여 수행됩니다. 다음의 예시를 통해 살펴보겠습니다.

fun printLength(value: Any) {
    if (value !is String) {
        return
    }
    val length = value.length // 여기서는 자동으로 스마트 캐스트가 수행됩니다.
    println("문자열의 길이는 $length 입니다")
}

위의 예시에서 value 변수가 문자열이 아닌 경우 함수는 그냥 종료됩니다. 만약 value가 문자열인 경우, 스마트 캐스트가 적용되어 length 호출 시 자동으로 value를 문자열로 캐스팅합니다.

요약

코틀린에서는 is 키워드를 사용하여 타입을 검사하고, as 키워드를 사용하여 타입을 캐스팅할 수 있습니다. 이를 통해 타입에 따라 다른 로직을 수행하는 등의 작업을 수월하게 수행할 수 있습니다.

참고 자료: 코틀린 공식 문서