[kotlin] 코틀린에서 고차 함수 사용하기

코틀린은 고차 함수(higher-order functions)를 지원하는 함수형 프로그래밍 언어입니다. 고차 함수를 사용하면 함수를 일급 객체로 다룰 수 있으며, 함수를 다른 함수의 매개변수로 전달하거나 함수를 반환할 수 있습니다.

고차 함수란 무엇인가요?

고차 함수는 다음을 만족하는 함수입니다.

예를 들어, filter 함수는 람다 함수를 인수로 받아 조건에 맞는 요소만을 반환합니다. 이것은 고차 함수의 예입니다.

val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 }

위의 예제에서 filter 함수는 it % 2 == 0 조건을 만족하는 요소만을 반환하여 새로운 리스트를 만듭니다.

고차 함수의 활용

고차 함수를 사용하면 코드의 재사용성과 가독성을 높일 수 있습니다. 또한 람다 함수를 이용해 코드를 더 간결하게 작성할 수 있습니다.

예를 들어, 다음은 고차 함수를 사용하여 리스트의 각 요소를 변환하는 map 함수의 예입니다.

val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it }

위의 예제에서 map 함수는 각 요소를 제곱하여 새로운 리스트를 반환합니다.

정리

코틀린에서 고차 함수를 사용하여 함수를 일급 객체로 취급할 수 있습니다. 이를 통해 코드를 더 간결하고 읽기 쉽게 작성할 수 있으며, 함수형 프로그래밍의 기본적인 특성을 활용할 수 있습니다.

참고 자료: