2020. 10. 7. 09:55
* 고차 함수 (High-order Function)
- 다른 함수를 인자로 사용하거나 함수를 결과값으로 반환하는 함수
- 일급 객체 또는 일급 함수를 서로 주고 받을 수 있는 함수
예)
fun main( ) {
println(highFunc({x, y -> x + y }, 10, 20)) // 람다식 함수를 인자로 넘김
}
// sum 매개변수는 함수
fun highFunc(sum: (Int, Int) -> Int, a: Int, b: Int): Int = sum(a, b)
highFunc( ) 함수는 sum이라는 매개 변수가 있음
하지만 이 sum은 람다식 함수 형식으로 선언
즉 highFunc( ) 함수는 sum을 통해서 람다식 함수를 인자로 받아들이는 고차함수