[kotlin] 코틀린 인터페이스의 확장 함수와 확장 프로퍼티
코틀린에서는 인터페이스 또한 확장이 가능합니다. 이를 통해 인터페이스에 새로운 함수나 프로퍼티를 추가할 수 있으며, 이미 구현된 인터페이스에 신규 함수나 프로퍼티를 동적으로 추가할 수 있습니다.
확장 함수
인터페이스를 확장한 함수는 다음과 같은 형태로 선언할 수 있습니다.
fun 인터페이스이름.함수이름() {
// 함수 내용
}
확장 함수를 선언할 때, 인터페이스이름
다음에 .
을 찍고 함수 이름을 지정합니다. 그리고 그 아래에는 함수의 내용을 작성합니다.
다음은 Drawable
인터페이스에 drawOutline
함수를 확장하는 예제입니다.
interface Drawable {
fun draw()
}
fun Drawable.drawOutline() {
// 외곽선을 그리는 코드
}
위 예제에서 Drawable
인터페이스에 drawOutline
확장 함수를 추가했습니다.
확장 프로퍼티
확장 프로퍼티를 선언하는 방법은 함수와 유사합니다. 아래는 인터페이스에 확장 프로퍼티를 추가하는 예제입니다.
val 인터페이스이름.프로퍼티이름: 타입
get() = // getter 내용
set(value) { // setter 내용 }
다음은 Drawable
인터페이스에 isVisible
확장 프로퍼티를 추가하는 예제입니다.
interface Drawable {
fun draw()
}
val Drawable.isVisible: Boolean
get() = true
위 예제에서 Drawable
인터페이스에 isVisible
확장 프로퍼티를 추가했습니다.
확장 함수와 프로퍼티를 효과적으로 활용하면 인터페이스에 새로운 기능을 추가하는 작업을 보다 간편하게 수행할 수 있습니다.
참고 문헌: 코틀린 공식 도큐먼트