728x90
👓 Overview
메서드 참조(Method Reference)를 사용하면 불필요한 매개변수를 제거하고 :: 기호를 사용하여 해당 메서드를 표현할 수 있다.
클래스명::메서드명
또는
객체명::메서드명
💡 How to use?
메서드 표현식은 람다 표현식에 대응된다.
✔ 클래스명::인스턴스메서드
- 첫 번째 파라미터가 메서드의 수신자가 되고, 나머지 파라미터는 해당 메서드의 인자로 전달된다.
(x, y) -> x.compareToIgnoreCase(y) // lambda expression
String::compareToIgnoreCase // method reference
✔ 클래스명::정적메서드
- 모든 파라미터가 정적 메서드의 인자로 전달된다.
x -> Object.isNull(x) // lambda expression
Object::isNull // method reference
✔ 객체명::인스턴스메서드
- 주어진 객체에서 메서드가 호출되며, 파라미터는 모두 인스턴스 메서드의 인자로 전달된다.
x -> System.out.println(x) // lambda expression
System.out::println // method reference
✔ 생성자 참조
- 메서드 이름이 new라는 점만 제외하면 메서드 참조와 같은 방식으로 사용한다.
728x90
'Java' 카테고리의 다른 글
[Java] Java 코드 실행시간 측정하기 (0) | 2021.11.12 |
---|---|
[Java] Maven 라이브러리 Dependency 충돌 해결하기 (0) | 2021.11.04 |
[Java] javadoc 정리 (0) | 2021.05.04 |
[Java] 와일드 카드가 들어간 IP 검사하기! (0) | 2020.07.13 |
[Java] StringBuffer / StringBuilder (0) | 2020.06.02 |