확장함수(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)처럼 함수가 호출되었다면 구현부 안에서의 this는 numbers 객체를 의미합니다.
위 코드를 실행하면, 의도한 것처럼 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 |