확장 함수란 문법은 상속 없이 클래스 외부에서 멤버 함수를 추가할 수 있는 문법을 뜻한다.

아래의 예제에서는 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

+ Recent posts