경험의 기록

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 를 사용하여 캐스팅 할 수 있다.

 

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading