[android : kotlin] 코틀린 확장 함수(Extension Function) 생성 및 사용 방법
코틀린에서 확장함수는 기본 클래스에 정의된 함수인 것처럼 새로운 함수를 추가하는 기능이다. 코틀린에서는 함수를 클래스 안에 선언하지 않아도 된다. 확장 함수는 static 함수이며, 클래스 밖에 선언되기 때문에 오버라이드 할 수 없다.
[확장 함수 생성 문법]
fun 확장할 클래스.함수명: 리턴타입 {
return 리턴 값
}
fun main() {
val source = "Hello World!"
val target = "Kotlin"
println(source.getLongString(target))
}
// String을 확장해 getLongString 추가
fun String.getLongString(target: String): String =
if (this.length > target.length) this else target
this는 확장 대상에 있던 자리의 문자열인 source 객체를 나타낸다. 기존의 표준 라이브러리를 수정하지 않고도 확장가능 하다.
[실행결과]
Hello World!
[REFERENCE]
Do it! 코틀린 프로그래밍: 03-5 코틀린의 다양한 함수들
[연관]
codechacha.com/ko/kotlin-extension-functions/