프로그래밍/프로그래밍언어

[4장 고차함수] 고차함수란

Hithero 2021. 11. 28. 00:19

코틀린에서 함수는 일급함수(first-class function)이다.

일급함수는 함수를 인자로 받거나 반환값으로 반환하는 것이 가능하다.

함수형 프로그래밍에서 말하는 고차함수는,

1. 함수를 매개변수로 받는 함수

2. 함수를 반환하는 함수

다음 두가지 조건 중 하나이상을 만족하면 고차함수(higher order function)라고한다.

예시

// 함수를 인자로 받는 함수
fun<R> highFunc( func: () -> R ) : R {
	return func()
}
// 함수를 반환값으로 받는 함수
fun<R> highFunc1() : () -> Unit {
	return { println("This is Higher Order Function") }
}

고차 함수의 장점 

1. 간결하게 코드를 짜 재사용성을 높인다.

2. 기능의 확장이 쉽다.

3. 코드를 간결하게 작성할 수 있다.

 

참고 문헌

코틀린으로 배우는 함수형 프로그래밍 (조재용, 우명인 지음) 인사이트

728x90
반응형