[kotlin] 고차 함수와 람다 식의 활용

고차 함수와 람다 식은 Kotlin 프로그래밍 언어에서 매우 강력한 도구로, 코드를 간결하게 작성하고 유연성을 높일 수 있습니다. 고차 함수는 다른 함수를 매개변수로 받거나 반환하는 함수를 말하며, 람다 식은 익명 함수를 간편하게 작성할 수 있는 방법입니다. 이번 포스트에서는 이 두 가지 개념을 활용하여 Kotlin에서의 실용적인 예제를 살펴보겠습니다.

고차 함수와 람다 식

우선 간단한 람다 식을 살펴보겠습니다.

val sum: (Int, Int) -> Int = { a, b -> a + b }

위 코드에서 sum 변수는 (Int, Int) -> Int 타입인데, 이는 두 개의 정수 인자를 받고 정수를 반환하는 함수 타입입니다. 중괄호 안에 있는 a + b는 람다 식으로, 두 개의 인자를 받아 더한 값을 반환합니다.

고차 함수를 사용하여 이 람다 식을 활용하는 예제를 살펴보겠습니다.

fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int {
    return operation(x, y)
}

위 코드는 calculate라는 고차 함수를 정의한 것인데, operation이라는 함수 타입의 매개변수를 받아 두 개의 정수를 받고 정수를 반환하는 함수를 호출합니다.

예제

이제 실제로 이를 활용한 예제를 살펴보겠습니다. 다음은 두 숫자의 합과 곱을 계산하는 예제입니다.

fun main() {
    val sum = calculate(10, 5, { a, b -> a + b })
    val multiply = calculate(10, 5, { a, b -> a * b })

    println("Sum result: $sum")
    println("Multiplication result: $multiply")
}

위 코드에서 calculate 함수를 호출할 때 각각의 람다 식으로 덧셈과 곱셈 연산을 전달하고, 결과를 출력합니다.

이처럼 고차 함수와 람다 식을 활용하면 코드를 간결하고 가독성 있게 작성할 수 있으며, 함수형 프로그래밍의 장점을 살려 유연한 코드를 작성할 수 있습니다.

결론

고차 함수와 람다 식은 Kotlin에서 강력한 기능으로, 코드를 간결하고 유연하게 작성하는 데 도움을 줍니다. 이를 활용하여 함수형 프로그래밍 스타일을 적용하고, 코드의 가독성을 높일 수 있습니다.

더 많은 Kotlin 함수형 프로그래밍에 대한 정보는 Kotlin 공식 문서를 참고하세요.