[kotlin] 코틀린 클래스에 확장 함수를 추가하는 방법은?

아래는 코틀린에서 확장 함수를 추가하는 방법입니다.

// 기존 클래스에 확장 함수 추가
fun String.customFunction(): String {
    return this.reversed()  // 예시로 문자열을 역순으로 변환하는 함수
}

위의 예시에서는 String 클래스에 customFunction이라는 확장 함수를 추가한 것입니다. 예시로 든 함수는 문자열을 역순으로 변환하는 기능을 제공합니다.

일반적으로 확장 함수는 기존 클래스의 인스턴스를 나타내는 this 키워드를 이용하여 정의됩니다.

이제 해당 클래스의 인스턴스에서는 확장 함수를 일반 메소드처럼 호출할 수 있게 됩니다.

fun main() {
    val originalString = "Hello"
    val modifiedString = originalString.customFunction()
    println(modifiedString)  // 출력 결과: olleH
}

위의 예시에서는 originalString이라는 String 인스턴스에서 customFunction을 호출하여 역순으로 변환된 modifiedString을 얻고 있습니다.

확장 함수는 클래스 외부에서 정의되며, 기존 클래스의 소스 코드를 변경하지 않고 해당 클래스의 기능을 확장할 수 있는 장점이 있습니다.

관련 참고 자료: