[Kotlin] 형 변환 (Type Casting)

해니·2024년 10월 22일

Kotlin

목록 보기
7/9
post-thumbnail

명시적 형 변환

  • Kotlin은 안전하지 않은 형 변환을 막기 위해 자동 형 변환을 지원하지 않는다.
  • 다른 타입으로 변환하고자 할 때는 명시적으로 변환 메소드를 호출해야 한다.
    ex) toInt() , toFloat() , toString()

// val number: Int = 10
val number = 10
val longNumber = number.toLong()

🫧 Kotlin은 명시적으로 타입 선언을 하지 않아도 된다.



안전한 형 변환

  • as 연산자를 사용하여 안전하게 형 변환을 시도할 수 있다.
    • as?를 사용하면 변환에 실패할 경우 null을 반환한다.
fun printAgeIfPerson (obj: Any) {
	val person: Person? = obj as? Person 
    println(person?.age)
}



스마트 캐스트 (Smart Cast)

  • Javainstanceof 와 비슷하게 Kotlin에서는 특정한 변수의 타입을 확인하기 위해 is 문을 사용할 수 있다.
  • 스마트 캐스트(Smart Cast)란 타입 검사와 함께 해당 타입으로의 자동 형 변환되는 기능으로, Kotlin에서는 is 문을 통해 특정한 타입임이 확인되면 자동으로 형변환된다. 
// `obj` 가 `Person` 타입인것을 인지하여 `age` 메서드 호출이 가능하다.
fun printAgeIfPerson (obj: Any) {
    if (obj is Person) { 
        println(obj.age) 
    }






출처

Java 개발자의 Kotlin 기본 문법 정복기
Android Kotlin 형 변환(Type Casting)
[Kotlin] 스마트 캐스트(Smart Cast) 기능을 사용한 안전한 타입 변환: is, as

profile
💻 ⚾️ 🐻

0개의 댓글