[kotlin] 고차 함수와 인라인 함수의 사용 용도

고차 함수와 인라인 함수는 Kotlin에서 함수형 프로그래밍을 지원하는 강력한 기능입니다.

고차 함수

고차 함수란, 함수를 인자로 받거나 함수를 반환하는 함수를 말합니다. 이를 통해 코드를 더 유연하게 작성할 수 있습니다.

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

val sum = { x: Int, y: Int -> x + y }
val multiply = { x: Int, y: Int -> x * y }

println(calculate(3, 4, sum)) // 7
println(calculate(3, 4, multiply)) // 12

인라인 함수

인라인 함수는 고차 함수를 사용할 때 발생하는 오버헤드를 줄여줍니다. 함수가 호출될 때 해당 함수의 코드가 호출되는 곳에 직접 복사되어 실행됩니다. 이렇게 하면 함수 호출에 따른 오버헤드를 줄일 수 있어 성능을 향상시킬 수 있습니다.

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

val result = calculate(3, 4) { x, y -> x + y }
println(result) // 7

사용 용도

고차 함수는 매개변수나 반환 타입으로 함수를 사용해야 하는 경우에 유용하게 활용됩니다. 인라인 함수는 성능을 향상시키고자 할 때 사용합니다.

고차 함수와 인라인 함수를 적절히 활용하여 Kotlin 언어의 강력한 함수형 프로그래밍 기능을 최대한 활용할 수 있습니다.

참고 문헌: