Kotlin 앱 프로그래밍
(코틀린) 고차 함수
쿠카이든
2023. 5. 21. 18:29
728x90
- 고차 함수(high order fuction)란 함수를 매개변수로 전달받거나 반환하는 함수를 의미합니다.
- 일반적으로 함수의 매개변수나 반환값은 데이터입니다.
- 그런데 데이터가 아닌 함수를 매개변수나 반환값으로 이용하는 함수를 고차 함수라 합니다.
- 이처럼 함수를 매개변수나 반환값으로 이용할 수 있는 것은 앞에서 살펴보았듯이 함수를 변수에 대입할 수 있기 떄문입니다.
- 다음 코드에서 hofFun()은 고차 함수입니다.
- 매개변수를 하나 선언했지만 타입이 함수입니다.
- 따라서 이 함수를 호출하려면 인자로 함수를 전달해야 합니다.
- 또한, 반환 타입 역시 함수이므로 호출 결과로 함수를 반환받습니다.
fun hofFun(arg: (Int) -> Boolean): () -> String {
val result = if(arg(10)){
"valid"
}else{
"invalid"
}
return {"hofFun result : $result"}
}
fun main(){
val result = hofFun({no -> no > 0})
println(result())
}

출처 : 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 (강성윤 저)
728x90