본문 바로가기
Kotlin Language/Kotlin 기본 문법

Kotlin(코틀린) - to, as, Any형변환

by Classic Master 2023. 11. 25.
728x90

형변환의 중요성

코드를 작성하면서 형변환 함수를 사용하여 값을 반환받는 경우가 발생합니다.

이는 불필요한 코드를 줄일 수 있으며, 유연하게 값을 이동할 수 있기 때문에 알아두시면 좋습니다.

 

기본 자료형의 형변환

형변환은 변환하고 싶은 to~() 함수를 사용하여 형변환이 가능합니다.

  • toByte() : Byte 타입으로 변환
    toUByte() : unsigned 타입인 UByte 타입으로 변환
    toShort() : Short 타입으로 변환
    toUShort() : unsigned 타입인 UShort 타입으로 변환
    toInt() : Int 타입으로 변환
    toUInt() : unsigned 타입인 UInt 타입으로 변환
    toLong() : Long 타입으로 변환
    toULong() : unsigned 타입인 ULong 타입으로 변환
    toFloat() : Float 타입으로 변환
    toDouble() : Double 타입으로 변환
    toChar() : Char 타입으로 변환
    toString() : String 타입으로 변환
    toBigInteger() : BigInteger 타입으로 변환
    toBigDecimal() : BigDecimal 타입으로 변환

fun main(){

var num1 :String = "123456"
var num2 :String = "123.456"
var num3 :Float = 3.14F
var num4 = num1.toInt()	// Int
var num5 = num2.toDouble()	// Double
var num6 = num3.toInt()	// NumberFormatException

println(num4) // 123456
println(num5) // 123.456
println(num6) // 3

}

객체에서의 as 형변환

대상의 뒤에 as 자료형을 붙이면 형변환이 가능합니다.

//부모 클래스
open class Animal
class Dog : Animal()
 
//클래스 형변환
val dog = Dog()
val animal = dog as Animal

Any 형변환

코틀린에서 모든 타입이 상속받는 최상위 타입입니다.

자료형이 특별히 정해 지지 않았을 경우 사용합니다.

제네릭 타입으로 Any를 사용하면 어떤 객체를 집어넣어도 업캐스팅이 적용되어 모든 타입에 들어갈 수 있게 됩니다.

fun main() {
   	var a : Any? = 2023
    
    println(a)
}

 

728x90
반응형