English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 확장 함수를 사용하여 새로운 기능을 추가할 수 있는 클래스를 확장하는 방법을 배울 것입니다.
새로운 기능을 추가할 수 있는 클래스를 확장해야 한다면 대부분의 프로그래밍 언어에서는 다음과 같이 합니다:새로운 클래스를 파생합니다.또는 이 작업을 수행하기 위해某种设计 pattern을 사용할 수 있습니다.
하지만 Kotlin에서는 확장 함수를 사용하여 새로운 기능을 추가할 수 있는 클래스를 확장할 수 있습니다. 기본적으로 확장 함수는 클래스 외부에서 정의된 클래스의 멤버 함수입니다.
예를 들어, 다음과 같이 필요할 수 있습니다:String 클래스이 방법은 String 클래스에 존재하지 않습니다. 이 작업을 완료하기 위해 확장 함수를 사용할 수 있습니다.
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array<String>) { val myString = "Hello Everyone" val result = myString.removeFirstLastChar() println("출력 결과: $result") }
프로그램을 실행할 때, 출력은 다음과 같습니다:
출력 결과: ello Everyon
여기서 확장 함수 removeFirstLastChar()가 String 클래스에 추가됩니다.
클래스 이름은 수신자 타입입니다(예를 들어 String 클래스). 확장 함수에서 this 키워드는 수신자 객체를 참조합니다.
Kotlin을 Java 프로젝트에 통합하려면 전체 코드를 Kotlin으로 변경할 필요가 없습니다. 확장 함수를 사용하여 기능을 추가하세요.