확장 함수란 문법은 상속 없이 클래스 외부에서 멤버 함수를 추가할 수 있는 문법을 뜻한다.
아래의 예제에서는 String 클래스에서 isNumber이라는 기존에 정의되어 있지 않은 함수를 확장 함수 문법을 통하여, 추가한 것이다.
fun String.isNumber(): Boolean
{
var i = 0
while (i < this.length)
{
if (!('0' <= this[i] && this[i] <= '9'))
return false
i += 1
}
return true
}
fun main(args: Array<String>)
{
println("1234567890".isNumber())
}
그리고 확장 프로퍼티는 함수가 아닌 Property를 확장하는 것이다.
아래의 예제 코드를 참고하면 되겠다.
val String.isNumber: Boolean
get()
{
var i = 0
while (i < this.length)
{
if (!('0' <= this[i] && this[i] <= '9'))
return false
i += 1
}
return true
}
fun main(args: Array<String>)
{
println("1234567890".isNumber)
}
참고 : 초보자를 위한 Kotlin 200제 라는 책을 기반으로 공부 내용을 정리하였습니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] 함수 리터럴과 람다식, 익명함수, it 식별자 (0) | 2020.09.06 |
---|---|
[Kotlin] Sealed Class (0) | 2020.09.01 |
[Kotlin] is 연산자 (0) | 2020.09.01 |
[Kotlin] Nothing type, Nullable, null (0) | 2020.08.31 |
[Kotlin] Class (0) | 2020.08.29 |