Any 타입
Any 타입은 코틀린의 모든 자료형의 최상위 타입이며 자바의 Object와 같은 역할을 한다.
fun main() {
var a : Any? = 10
println(a)
}
is 연산자
is 연산자는 자료형을 비교하여 true,false를 리턴해주며 자바의 instanceof와 같은 역할을 한다.
fun main() {
var a : Int = 7
var b = "abc"
isTypeName(a)
isTypeName(b)
}
fun isTypeName(obj: Any) {
if (obj is Int) {
println("Type = Integer")
} else if (obj is Float) {
println("Type = Float")
} else if (obj is String) {
println("Type = String")
}
}
또한
fun castMethod(a: Any) {
if (a is String) {
print(a.length) // a가 String 타입으로 자동 캐스팅
}
}
코틀린에서는 스마트캐스팅을 하기때문에 a가 string인걸 확인하면 따로 캐스팅할 필요가 없다.
명시적 형변환 (캐스팅)
var a = 10.5
a as Int
as 를 사용하여 캐스팅 할 수 있다.