[Kotlin] 데이터 타입 확인 및 변환

Minjun Kim·2023년 7월 18일
0

Kotlin

목록 보기
1/10
post-thumbnail

데이터타입 확인 연산자

: is , !is

class Is (
	fun isTypeName(obj: Any) {
    	if (obj is Int) (
        	Log.e("Type", "Type = Integer")
		} else if (obj is Float) { ... }

데이터타입 변환

: as

class As {
    fun asInt(number: Number) {
        val int: Int = number as Int
    }
}

스마트 캐스트

자바에서 instanceOf 연산자를 사용하여 객체의 자료형을 확인하더라도
이를 변환하기 위해서는 확인했던 자료형으로 다시 캐스팅 한 후에 사용이 가능합니다.

코틀린에서는 이러한 불편함과 간결함을 위해 추론이 가능한 경우
캐스팅 없이 해당하는 자료형으로 객체가 변환되도록 스마트 캐스트 기능을 지원합니다.
*var는 언제든지 값이 변할 수 있는 변수기 때문에 스마트 캐스트가 지원되지 않습니다.

class SmartCast {
    fun smartCast(number: Number) {
        if (number is Int) {
            val a: Int = number //스마트 캐스트가 지원되어서 as 연산자를 거치지 않고 사용할 수 있습니다.
        }
    }
}
profile
응애 나 아기 뉴비

4개의 댓글

comment-user-thumbnail
2023년 7월 18일

글 잘 봤습니다, 감사합니다.

1개의 답글
comment-user-thumbnail
2023년 7월 18일

아주 유익한 내용이네요!

1개의 답글