[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을 얻고 있습니다.
확장 함수는 클래스 외부에서 정의되며, 기존 클래스의 소스 코드를 변경하지 않고 해당 클래스의 기능을 확장할 수 있는 장점이 있습니다.
관련 참고 자료: