본문 바로가기
Language/Kotlin

Kotlin - 확장함수(Extension Functions)

by pan5158 2022. 5. 15.

확장함수(Extension Functions)

Extension functions(확장 함수)는 기존에 정의된 클래스에 함수를 추가하는 기능입니다. 

 

확장 함수를 사용법

코틀린은 클래스에 함수를 확장하는 Extension functions(확장함수)를 제공하기 때문에 List 클래스에 getHigherThan() 함수를 추가할 수 있습니다. 확장 함수는 fun 클래스이름.함수이름(인자타입): 리턴타입 { 구현부 }으로 정의할 수 있습니다.

아래코드는 확장함수를 이용하여 List 클래스에 getHigherThan()를 추가한 코드입니다.

 

함수를 추가하려는 클래스는 List<Int>이고, 함수 이름은 getHigherThan입니다. 함수의 인자는 num: Int이고, 리턴타입은 List<Int>입니다. 그래서 fun List<Int>.getHigherThan(num: Int): List<Int> 이렇게 함수를 정의하였습니다. 함수의 구현부에서 this가 사용되고 있는데요. this는 객체의 자신입니다. 만약 numbers.getHigherThan(3)처럼 함수가 호출되었다면 구현부 안에서의 thisnumbers 객체를 의미합니다.

위 코드를 실행하면, 의도한 것처럼 3보다 큰 숫자들만 출력됩니다.

'Language > Kotlin' 카테고리의 다른 글

제네릭(Generic)  (0) 2022.05.18
코틀린(Kotlin) 범위 지정 함수(Scope Function) 정리  (0) 2022.05.14
Inline ,Infix 함수  (0) 2022.05.13
Kotlin Function  (0) 2022.05.12
Sequence  (0) 2022.05.06