728x90
메서드 참조
List.of(1, 2, 3, 4).forEach(i -> System.out.println(i));
List.of(1, 2, 3, 4).forEach(System.out::println); // 메서드 참조
메서드 참조를 사용할 때 주의사항
대부분의 경우 람다에 비해 코드가 간결하고 명확해지지지만 람다에서 사용하는 매개변수 이름이 좋은 가이드가 된다면 코드가 더 길더라도 오히려 읽기가 더 쉬워질 것입니다.
또한, 메서드의 이름이 너무 길다면 오히려 람다가 더 간결해 질 수 있습니다.
service.execute(() -> action());
service.execute(GoshThisClassNameIsHumongous::action); // 메서드 참조
메서드 참조의 유형
- 정적 메서드 참조
- 한정적 인스턴스 메서드 참조
- 비한정적 인스턴스 메서드 참조
- 클래스 생성자 참조
- 배열 생성자 참조
반응형
'스터디 > 이펙티브 자바' 카테고리의 다른 글
[Effective Java] Item45. 스트림은 주의해서 사용하라 (0) | 2022.07.10 |
---|---|
[Effective Java] Item 44. 표준 함수형 인터페이스를 사용하라 (0) | 2022.07.03 |
[Effective Java] Item42. 익명 클래스보다는 람다를 사용하라 (0) | 2022.07.03 |
[Effective Java] Item41. 정의하려는 것이 타입이면 마커 인터페이스를 활용하라 (0) | 2022.07.03 |
[Effective Java] Item40. @Override 애너테이션을 일관되게 사용하라 (0) | 2022.07.03 |