본문 바로가기
Android

[Kotlin] 코틀린에서 형변환은 어떻게 할까

by 방구석 몽상가 2018. 10. 17.
2018-10-17-kotlin-casting

Java에서는 자동 형변환을 지원했으며, 강제 형변환도 손쉽게 가능했다. 형변환이 가능하다면 그냥 변수명 앞에 (타입)만 붙여주면 된다.
그렇지만 코틀린은 자동 형변환을 지원하지 않으며, (타입) 과 같은 캐스팅 연산을 지원하지 않는다.

그렇다면 코틀린에서 형변환은 어떻게 해야 할까?


1. 기본 타입 형변환

기본 타입 형변환은 Java와 비슷하게 정의된 함수를 통해 손쉽게 형변환할 수 있다.

  • toByte() : Byte로 변환
  • toShort() : Short로 변환
  • toInt() : Int로 변환
  • toLong() : Long으로 변환
  • toFloat() : Float으로 변환
  • toDouble() : Double로 변환
  • toChar() : Char로 변환
  • String의 형변환은 Java와 동일

 

2. 정의 타입 형변환

업캐스팅이나 다운캐스팅을 하기 위해 강제 형변환을 사용하는 일은 부지기수다. 많이 찾아보진 않았지만, 꼭 찝어 형변환을 다룬 글을 찾지 못 해서 코틀린의 is에 주목했다.

위 if문이 참이면 즉, AAA가 aaa로 캐스팅 가능하다면 자동으로 형변환이 된다. 별도의 캐스팅 연산자가 없어도 이렇게 사용하여 강제 형변환이 가능하다.

위는 RecyclerView에서의 사용 예시다. 예외처리도 확실히 되어 오히려 기존 연산자를 사용할 때보다 안전해서 좋은 것 같기도 하다.

'Android' 카테고리의 다른 글

[Java][Kotlin] 액티비티 전환하기  (3) 2018.10.13
[Java][Kotlin] Fragment 간단 사용법  (3) 2018.10.13
Kotlin(코틀린)을 익혀보자  (0) 2018.10.12

댓글