English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서, 타입 변환을 배웁니다. 예제를 통해 어떻게 하나의 타입의 변수를 다른 타입으로 변환할 수 있는지 배웁니다.
Kotlin에서, 하나의 타입의 숫자는 자동으로 다른 타입으로 변환되지 않습니다. 이는 Java가 숫자 변환을 처리하는 방식과 다릅니다. 예를 들어:
Java에서
int number1 = 55; long number2 = number1; // 유효한 코드
여기서, int 타입의 number1의 값은 자동으로 long 타입으로 변환되어 변수 number에 할당됩니다2.
Kotlin에서
val number1: Int = 55 val number2: Long = number1 // Error: type mismatch.
하지만Long의 크기가 Int보다 큰 경우, Kotlin은 자동으로 Int를 Long으로 변환하지 않습니다.
반대로, number를 Long 타입으로 변환하기 위해 toLong()를 명시적으로 사용해야 합니다. Kotlin은 예기치 않은 오류를 방지하기 위해 이렇게 합니다.
val number1: Int = 55 val number2: Long = number1.toLong()
Kotlin에서 타입 변환에 사용되는 함수 목록은 다음과 같습니다:
toByte() - 문자열을 부호를 가진 바이트수로解析하여 결과를 반환합니다.
toShort() - Int 값을 Short로 변환합니다.
toInt() - 문자열을 Int 숫자로解析하여 결과를 반환합니다.
toLong() - 문자열을 Long 숫자로解析하여 결과를 반환합니다.
toFloat() - 문자열을 Float 숫자로解析하여 결과를 반환합니다.
toDouble() - 문자열을 Double 숫자로解析하여 결과를 반환합니다.
toChar() - Int 값을 Char로 변환합니다.
Boolean 타입의 변환은 없습니다.
위에 언급된 함수는 두 방향으로 사용될 수 있습니다. (큰 타입에서 작은 타입으로 변환 및 작은 타입에서 큰 타입으로 변환)
그러나, 큰 타입에서 작은 타입으로 변환할 때 값이 잘릴 수 있습니다. 예를 들어,
fun main(args : Array<String>) { val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 =1") println("number2 =2") }
이 프로그램을 실행할 때, 출력은 다음과 같습니다:
number1 = 545344 number2 = 64