Akashic Records

고차 함수 본문

Kotlin for Beginners

고차 함수

Andrew's Akashic Records 2023. 6. 2. 10:35
728x90

고차 함수는 Kotlin의 중요한 기능 중 하나로, 함수를 파라미터로 받거나 결과로 반환하는 함수를 의미합니다. 이를 통해 코드의 가독성과 유연성을 높일 수 있습니다.

 

  1. 고차 함수의 선언

고차 함수는 일반 함수와 동일한 방식으로 선언됩니다. 차이점은 고차 함수는 다른 함수를 파라미터로 받거나 결과로 반환한다는 점입니다.

예제:

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 함수에 전달되어 실행됩니다.

 

  1. 함수를 반환하는 고차 함수

고차 함수는 함수를 결과로 반환할 수도 있습니다. 이를 통해 더 동적이고 유연한 코드를 작성할 수 있습니다.

예제:

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

'Kotlin for Beginners' 카테고리의 다른 글

제네릭  (0) 2023.06.02
컬렉션  (0) 2023.06.02
익스텐션 함수  (0) 2023.06.02
람다 표현식  (0) 2023.06.02
Null 안정성  (0) 2023.06.02
Comments