[kotlin] 코틀린에서의 클래스 변환 함수

코틀린은 강력한 객체 지향 프로그래밍 언어이며, 클래스 간의 변환을 쉽게 처리하는 기능을 제공합니다. 이 기능을 통해 한 클래스에서 다른 클래스로 데이터를 변환하거나, 객체를 생성할 수 있습니다. 이번 블로그 포스트에서는 코틀린에서 클래스 변환을 위한 함수에 대해 알아보겠습니다.

1. toXXX() 함수

코틀린에서는 클래스 변환을 위해 toXXX() 함수를 제공합니다. 이 함수는 원하는 반환 타입으로 객체를 변환할 수 있도록 도와줍니다. 예를 들어, toMutableList(), toInt(), toString(), toSet() 등의 함수를 사용하여 원하는 타입으로 변환할 수 있습니다.

val list = listOf(1, 2, 3, 4, 5)
val mutableList = list.toMutableList()
val intResult = mutableList.toInt()
val stringResult = intResult.toString()
val setResult = stringResult.toSet()

2. 예약어(as)를 사용한 변환

코틀린에서는 예약어 as를 사용하여 클래스 변환을 수행할 수도 있습니다. 이를 사용하면 형식 변환(캐스팅)이 가능합니다. 예를 들어, as를 사용해 상위 클래스로의 변환 또는 하위 클래스로의 변환을 할 수 있습니다.

open class Animal

class Dog: Animal()

val animal: Animal = Dog()
val dog: Dog = animal as Dog

3. 확장 함수를 사용한 변환

코틀린에서는 확장 함수를 사용하여 클래스 변환을 수행할 수도 있습니다. 확장 함수를 사용하면 기존 클래스의 기능을 확장하여 새로운 함수를 추가할 수 있습니다. 예를 들어, Int 클래스에 대한 확장 함수를 정의하여 다른 타입으로 변환할 수 있습니다.

fun Int.toDoubleString(): String {
    return this.toDouble().toString()
}

val intValue = 123
val doubleString = intValue.toDoubleString()

마치며

코틀린에서는 클래스 변환을 위해 다양한 기능을 제공하고 있습니다. toXXX() 함수, as 예약어, 확장 함수 등을 통해 쉽게 클래스 변환을 할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 유연성을 추가할 수 있습니다. 코틀린을 사용하면 간결하고 효율적인 클래스 변환 코드를 작성할 수 있으니, 활용해보시기 바랍니다.

참고 자료