본문 바로가기

개발 언어/Java10

[Java] 람다표현식의 조합과 Comparator, Predicate, Function 디폴트 메서드(Default method) [Java8] 람다 표현식 조합, 디폴트 메서드 Java8 의 함수형 인터페이스들중 몇몇은 람다표현식을 조합한 유틸리티 메서드를 제공합니다. 람다 표현식의 조합이란 간단한 여러개의 람다 표현식을 조합하여 복잡한 람다표현식을 만드는 것입니다. 하지만 우리는 함수형 인터페이스는 단일 추상메서드(Single Abstract Method) 만을 가지는 인터페이스라고 배웠는데 별도의 유틸리티 메서드를 가진다고 하니 이해가 되지 않을수 있습니다. 여기서 말하는 유틸리티 메서드는 디폴트 메서드(Default Method) 입니다. 디폴트 메서드(Default Method) Java8 에서 새로 추가된 기능중 하나인 디폴트 메서드는 default 키워드를 이용하여 생성합니다. 클래스의 인스턴스로 접근할수 있으며 인터페.. 2021. 12. 16.
[Java] 메서드 참조(Method reference) - 정적 메서드, 생성자 참조와 람다표현식 활용 [Java8] 메서드 참조(Method reference) 메서드 참조란 람다 표현식(Lambda expression) 의 축약형으로 볼수 있습니다. 이전 포스팅에서 작성했던 사과 필터링 예제코드에서 사과를 무게별로 정렬할때 사용했던 compareTo 메서드를 예시로 들어보겠습니다. [람다 표현식] inventory.sort((Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight())); [메서드 참조] Comparator 클래스의 comparing 메서드를 사용한 방법입니다. inventory.sort(Comparator.comparing((Apple::getWeight))); 메서드 참조를 이용하는 이유 람다 표현식은 메서드를 사용하라고 가르키는.. 2021. 12. 15.