[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 메서드 레퍼런스(method reference)를 작성하는 방법

람다식을 사용한 메서드 레퍼런스

람다식을 사용하여 메서드 레퍼런스를 작성하는 방법은 다음과 같습니다.

val isEven: (Int) -> Boolean = { it % 2 == 0 } // 람다식
val numbers = listOf(1, 2, 3, 4, 5)
val evens = numbers.filter(isEven) // 메서드 레퍼런스 사용

위 예제에서 isEven은 람다식으로 짝수를 판별하는 함수를 나타내고, filter 메서드에서는 isEven의 메서드 레퍼런스를 사용하여 짝수를 필터링하고 있습니다.

고차 함수를 사용한 메서드 레퍼런스

고차 함수를 사용하여 메서드 레퍼런스를 작성하는 방법은 다음과 같습니다.

fun isOdd(x: Int) = x % 2 != 0
val numbers = listOf(1, 2, 3, 4, 5)
val odds = numbers.filter(::isOdd) // 메서드 레퍼런스 사용

위 예제에서 ::isOddisOdd 함수의 메서드 레퍼런스를 나타내며, filter 메서드에서 이를 사용하여 홀수를 필터링하고 있습니다.

메서드 레퍼런스를 사용하면 코드를 더 간결하고 가독성 있게 작성할 수 있으며, 람다식과 고차 함수를 통해 메서드 레퍼런스를 구현할 수 있습니다.

참고문헌: