[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 함수를 파라미터로 전달하는 방법

코틀린은 람다식과 고차 함수를 통해 함수를 파라미터로 전달하는 기능을 지원합니다. 이 기능은 함수형 프로그래밍과 관련된 많은 장점을 제공합니다.

람다식이란 무엇인가요?

람다식은 기능적/API적 복잡성을 줄이고, 코드를 간결하게 작성할 수 있도록 도와주는 코틀린의 강력한 기능입니다. 아래와 같이 람다식을 사용하여 함수를 작성할 수 있습니다.

val printMessage = { message: String -> println(message) }

고차 함수란 무엇인가요?

고차 함수는 다른 함수를 파라미터로 받거나 함수를 반환하는 함수를 뜻합니다. 아래와 같이 고차 함수를 작성할 수 있습니다.

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

함수를 파라미터로 전달하는 방법

fun main() {
    val sum = { x: Int, y: Int -> x + y }
    val multiplication = { x: Int, y: Int -> x * y }

    println(calculate(10, 5, sum)) // 출력: 15
    println(calculate(10, 5, multiplication)) // 출력: 50
}

위 예제에서 calculate 함수는 operation 파라미터로 함수를 전달받아 해당 함수를 실행합니다. sum 함수와 multiplication 함수를 calculate 함수에 파라미터로 전달하여 각각 덧셈과 곱셈을 수행할 수 있습니다.

이렇듯 코틀린의 람다식고차 함수를 이용하면 코드를 더 간결하게 작성하고, 코드 재사용성을 높일 수 있습니다.

참고 자료