[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 함수리터럴(function literal)을 작성하는 방법

람다식(람다 표현식) 작성하기

람다식은 중괄호({})로 감싸진 매개변수 목록과 본문으로 이루어집니다. 화살표(->)를 사용하여 매개변수와 본문을 구분합니다.

val sum: (Int, Int) -> Int = { x, y -> x + y }

위의 예제에서 { x, y -> x + y } 부분이 람다식으로, Int 타입의 매개변수 x, y를 받아 그 합을 반환합니다.

고차 함수로 람다식 활용하기

고차 함수는 람다식을 인자로 받거나 람다식을 반환하는 함수입니다. 아래는 고차 함수가 람다식을 활용하는 예제입니다.

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

fun main() {
    val result = calculate(10, 5) { a, b -> a + b }
    println(result) // 출력: 15
}

위의 예제에서 calculate 함수는 operation이라는 이름의 람다식을 인자로 받아 xy를 해당 람다식에 적용하여 결과를 반환합니다. main 함수에서는 calculate 함수를 호출할 때 람다식을 인자로 전달하여 덧셈 연산을 수행한 결과를 출력합니다.

이와 같이 코틀린에서는 람다식과 고차 함수를 활용하여 함수리터럴을 작성할 수 있습니다. 이를 통해 코드를 간결하게 표현할 수 있고, 함수형 프로그래밍의 장점을 살려 유연하고 강력한 코드를 작성할 수 있습니다.

참고문헌: