[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) // 메서드 레퍼런스 사용
위 예제에서 ::isOdd
는 isOdd
함수의 메서드 레퍼런스를 나타내며, filter
메서드에서 이를 사용하여 홀수를 필터링하고 있습니다.
메서드 레퍼런스를 사용하면 코드를 더 간결하고 가독성 있게 작성할 수 있으며, 람다식과 고차 함수를 통해 메서드 레퍼런스를 구현할 수 있습니다.
참고문헌: