Written by
lsm
on
on
TIL:Higher-Order Function
Higher-Order Function
컴퓨터과학에서 다음 중 하나를 수행하는 함수를 Higher-Order Function이라 지칭
- 하나 이상의 함수를 인수로 취함
- 함수를 결과로 반환
fun simpleHigherOrder(func:(Int, Int) -> Int, x:Int, y:Int):Int = func(x, y)
위의 함수는 함수를 매개변수로 받았기 때문에 Higher-Order Function이라 할 수 있다. 이 때 함수는 일급객체(First-Class Object)여야 한다.
- 일급객체 : 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 의미
- 변수/데이터에 할당 가능
- 객체의 매개변수로 넘길 수 있음
- 객체의 리턴 값으로 넘길 수 있음