코틀린에서는 형변환(타입 변환)은 다양한 방식으로 이루어집니다.
기본적으로 자동 형변환을 제공하지 않으며, 명시적으로 변환을 해야합니다.
1. Int -> Double
정수형(Int)을 실수형(Double)으로 변환할 때 toDouble() 함수를 사용합니다.
val intNum: Int = 10
val doubleNum: Double = intNum.toDouble()
println(doubleNum) // 출력: 10.0
2. Double -> Int
실수형(Double)을 정수형(Int)으로 변환할 때는 toInt()를 사용합니다. 이때 소수점은 버려집니다(내림).
val doubleNum: Double = 9.99
val intNum: Int = doubleNum.toInt()
println(intNum) // 출력: 9
3. String -> Int
문자열(String)을 정수형(Int)으로 변환하려면 toInt()를 사용합니다. 숫자가 아닌 문자열을 변환하려고 하면 예외가 발생할 수 있습니다.
val str: String = "123"
val intNum: Int = str.toInt()
println(intNum) // 출력: 123
잘못된 문자열을 변환하려고 할 경우:
val str: String = "abc"
val intNum: Int? = str.toIntOrNull() // null을 반환
4. Int -> String
정수형(Int)을 문자열(String)로 변환할 때는 toString()을 사용합니다.
val intNum: Int = 456
val str: String = intNum.toString()
println(str) // 출력: "456"
5. Char -> String
문자(Char)를 문자열(String)로 변환할 때도 toString()을 사용합니다.
val char: Char = 'A'
val str: String = char.toString()
println(str) // 출력: "A"
6. String -> Char
문자열에서 첫 번째 문자를 추출하여 Char로 변환할 수 있습니다.
val str: String = "Kotlin"
val char: Char = str[0]
println(char) // 출력: 'K'
7. Char -> Int
val char: Char = '3'
val intNum: Int = char.code
println(intNum) // 출력: 51
val intNum2: Int = char.digitToInt()
println(intNum2) // 출력: 3
- 유니코드 값 사용 (char.code)
- char.code는 해당 문자의 유니코드 값을 반환합니다. 예를 들어, 문자 '3'의 유니코드 값은 51입니다.
- 참고: 'A'의 유니코드 값은 65이며, 이는 아스키 코드와 동일한 값입니다. 이렇게 유니코드 값을 활용하여 문자와 정수 간의 변환을 할 수 있습니다.
- 문자 숫자 변환 (char.digitToInt())
- char.digitToInt()는 문자 '3'를 정수 3으로 변환합니다. 이 메서드는 문자 표현이 숫자인 경우에만 올바르게 작동합니다. 만약 문자가 숫자가 아닐 경우, IllegalArgumentException을 발생시킵니다.
- 이 메서드는 특정 문자를 숫자로 취급할 수 있도록 하여, 입력값이 숫자일 때 쉽게 변환할 수 있는 방법을 제공합니다.
8. Int -> Char
정수형(Int)을 문자(Char)로 변환할 때는 toChar()를 사용합니다.
val intNum: Int = 65
val char: Char = intNum.toChar()
println(char) // 출력: 'A'
9. String -> Double
문자열을 실수형(Double)으로 변환하려면 toDouble()을 사용합니다.
val str: String = "12.34"
val doubleNum: Double = str.toDouble()
println(doubleNum) // 출력: 12.34
10. Double -> String
실수형(Double)을 문자열(String)로 변환할 때는 toString()을 사용합니다.
val doubleNum: Double = 56.78
val str: String = doubleNum.toString()
println(str) // 출력: "56.78"
11. Boolean -> String
Boolean 값을 문자열로 변환할 때도 toString()을 사용합니다.
val boolValue: Boolean = true
val str: String = boolValue.toString()
println(str) // 출력: "true"
12. String -> Boolean
문자열을 Boolean으로 변환하려면 toBoolean()을 사용합니다. "true" (대소문자 구분 없음)은 true, 그 외 값은 false를 반환합니다.
val str: String = "true"
val boolValue: Boolean = str.toBoolean()
println(boolValue) // 출력: true
13. Any -> String
모든 코틀린 객체는 toString() 메서드를 사용할 수 있습니다. 이는 모든 타입이 Any에서 상속받은 공통 메서드입니다.
val anyValue: Any = 123
val str: String = anyValue.toString()
println(str) // 출력: "123"
'Kotlin' 카테고리의 다른 글
[Kotlin] Kotlin의 등장 배경, Java와의 차이점, 장점과 단점 (4) | 2024.10.03 |
---|---|
[Kotlin] 배열 사용, 출력 방법 (3) | 2024.09.26 |
[Kotlin] 변수 선언 (3) | 2024.09.25 |