코틀린

[Kotlin] Any, is

별보는 개발자 2022. 12. 27. 00:22

Any는 모든 타입들이 상속받는 최상위 타입이라고 할 수 있다. (모든 객체의 조상격)

 

자바에서 Object 개념과 코틀린에서 Any가 같다라고 볼 수 있다.

var str : Any = "문자열"
println(str)

str = 12345
println(str)

str에 String 문자열이 들어갔다가 Int형 정수가 들어가도 아무 에러없이 잘 출력되는 것을 알 수 있다.

 

그리고 변수의 타입체크를 할 때 is를 사용하기도 하는데, 아래처럼 사용한다.

var str : Any = "문자열"
if(str is String){
    println("String")
} else{
    println("not String")
}

 

var str : Any = "문자열"
when(str){
    is Int -> {println("int")}
    is String -> {println("String")}
    else -> {
     println("둘다 아님")
    }
}