메서드 참조(Method Reference) : 자바에서 메서드를 참조하는 방법을 말한다. 람다 표현식이나 익명 클래스에서 메서드를 호출하는 것 대신에, 이미 존재하는 메서드의 이름을 사용하여 해당 메서드를 참조하는 방식이다.
- 정적 메서드 참조(Static Method Reference): 클래스이름::정적메서드이름 형태로 사용된다.
- 인스턴스 메서드 참조(Instance Method Reference): 참조변수::인스턴스메서드이름 형태로 사용된다.
- 클래스 생성자 참조(Constructor Method Reference): 클래스이름::new 형태로 사용되며, 인스턴스를 생성하는 데 사용된다.
// 람다 표현식
Function<String, Integer> toInteger = s -> Integer.parseInt(s);
// 메서드 참조로 변경
Function<String, Integer> toInteger = Integer::parseInt;
핵심 정리 : 메서드 참조는 람다의 간단명료한 대안이 될 수 있다. 메서드 참조 쪽이 짧고 명확하다면 메서드 참조를 쓰고, 그렇지 않을 때만 람다를 사용하라.
'이펙티브 자바' 카테고리의 다른 글
[이펙티브 자바] 아이템 45. 스트림은 주의해서 사용하라 (0) | 2024.04.17 |
---|---|
[이펙티브 자바] 아이템44. 표준 함수형 인터페이스를 사용하라 (0) | 2024.04.15 |
[이펙티브 자바] 아이템 42. 익명 클래스보다는 람다를 사용하라 (0) | 2024.04.13 |
[이펙티브 자바] 아이템 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 (0) | 2024.04.11 |
[이펙티브 자바] 아이템 40. @Override 애너테이션을 일관되게 사용하라 (0) | 2024.04.09 |