728x90
고차 함수는 Kotlin의 중요한 기능 중 하나로, 함수를 파라미터로 받거나 결과로 반환하는 함수를 의미합니다. 이를 통해 코드의 가독성과 유연성을 높일 수 있습니다.
- 고차 함수의 선언
고차 함수는 일반 함수와 동일한 방식으로 선언됩니다. 차이점은 고차 함수는 다른 함수를 파라미터로 받거나 결과로 반환한다는 점입니다.
예제:
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
val sum: (Int, Int) -> Int = { a, b -> a + b }
println(operate(3, 5, sum)) // 출력: 8
이 예제에서 operate
함수는 세 번째 파라미터로 operation
함수를 받습니다. sum
람다 표현식은 operate
함수에 전달되어 실행됩니다.
- 함수를 반환하는 고차 함수
고차 함수는 함수를 결과로 반환할 수도 있습니다. 이를 통해 더 동적이고 유연한 코드를 작성할 수 있습니다.
예제:
fun generateOperation(isMultiply: Boolean): (Int, Int) -> Int {
if (isMultiply) {
return { a, b -> a * b }
} else {
return { a, b -> a + b }
}
}
val operation = generateOperation(true)
println(operation(3, 5)) // 출력: 15
이 예제에서 generateOperation
함수는 isMultiply
파라미터에 따라 다른 함수를 반환합니다. generateOperation(true)
를 호출하면 곱셈 함수가 반환되어 operation(3, 5)
를 실행하면 15가 출력됩니다.
고차 함수는 함수를 값으로 취급하는 함수형 프로그래밍의 중요한 개념입니다. 이를 통해 더 간결하고 유연한 코드를 작성할 수 있습니다.
728x90