형변환에 대해 공부해보자.
아직 함수를 공부하지 않았으니 일단 함수를 호출하면 특정한 동작을 하거나, 원하는 결괏값을 받을 수 있다는 것을 기억하고 시작하자.
형변환은 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 기능이다.
기본 자료형들은 자료형 간의 형변환을 위한 형변환 함수(type casting function)를 제공한다. 형변환 함수는 다음과 같이 to 뒤에 변환될 자료형을 붙인다.
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
예를 들어 Int 변수를 Long 변수에 넣으려고 한다면 코틀린에서는 그냥 할당만 해서는 변환되지 않는다. (Type mismatch. 자료형이 맞지 않는다는 에러가 남!) 반드시 Int형 변수에 toLong() 함수를 호출하여 Long 값으로 변환된 값을 반환받아 Long 변수에 할당해 줘야 한다.
fun main() {
var a: Int = 54321
var b: Long = a.toLong()
}
이것을 전문용어로는 명시적 형변환(explicit type casting)이라고 한다.
참고로 코틀린은 형변환시 발생할 수 있는 오류를 막기 위해 다른 언어들이 지원하는 '암시적 형변환'은 지원하지 않는다.
📢 참고 강의
https://www.youtube.com/watch?v=tvtNch-GPEU&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=3
📢 추가적으로 형변환 시 호환이 가능한지를 체크하여 변환 여부를 확인할 수 있는 방법은 클래스를 배울 때 다시 언급하겠다고 하니 해당 강의를 볼 때 공부하는 것으로 하자 🌝