Kotlin의 Any Class와 타입 체크



※ 정리

 ☞ Any : kotlin.Any 모든 코틀린 클래스의 최상위 (java.lang.Object)

 ☞ type check : 런타임에서 type을 검사,  'is' , '!is' 연산자 (java의 instanceOf와 같음)




 ▶ Any type은 어떠한 자료형으로도 바뀔 수 있습니다.

 ▶ a3의 type이 처음에는 String -> Double형 -> Boolean 형으로 바뀐다.


1
2
3
4
5
    val a: Any = 1234  // kotlin.Any,  코틀린의 최상위 타입 클래스=? java Object와 비슷하지만 똑같지는 않다
    val a2: Any = 'A'
    var a3: Any = "xyz"
    a3 = 3.141592  // double
    a3 = true // boolean
cs

 




 ▶ Type checkis로 한다. 

 ▶ 만약, 아닌 것을 판달할 때에는 is 앞에 !을 붙인다. ex) 7번째줄에서... val b2 = b1 !is Int

 ▶ 7번째 줄에서, b1이 Int형이면 b2는 true, Int형이 아니면 false가 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
    val a: Any = 1234  // kotlin.Any,  코틀린의 최상위 타입 클래스=? java Object와 비슷하지만 똑같지는 않다
    val a2: Any = 'A'
    var a3: Any = "xyz"
    a3 = 3.141592  // double
    a3 = true // boolean
    val b1 = 365
    val b2 = b1 is Int  // 'is' type check => java의 instanceOf
 
    println("b1 is Int = ${b1 is Int}, b2 = ${b2}")
    println("a is Int = ${a is Int}")
    println("a2 is Char = ${a2 is Char}")
    println("a3 is Boolean = ${a3 is Boolean}")
    println("a3 is String = ${a3 is String}")
cs




 ▼ 위 코드의 결과 화면




 



'Kotlin' 카테고리의 다른 글

[Kotlin] null가능형, 예외 및 null 안전성  (0) 2018.09.20
[Kotlin] 기본 자료형, 변수와 상수  (0) 2018.07.18

+ Recent posts