반응형

람다 메서드 참조
기존 람다 방식
Lambda a = (int a, int b) -> {return a+b};
Lambda b = (int a, int b) -> {return a+b};
동일한 기능을 함수로 묶을 수 있다.
Lambda a = (int a, int b) -> {add(a,b)};
Lambda b = (int a, int b) -> {add(a,b)};
public static int add (a ,b ){
return a+b;
}
다음과 같이 함수로 묶을 수 있다.
하지만, 이것 역시 편리하게 사용할 수 있는 방법이 있는 것이다. 그것이 바로
메서드 참조이다.
메서드 참조의 기본 문법
메서드 참조는 (::) 연산자를 사용한다.
- 클래스명::메서드명(정적 메서드)
- 참조변수::메서드명(인스턴스 메서드)
- 클래스명::new(생성자)
예시
정적 메서드
IntBinaryOperator operator = (x, y) -> Math.max(x, y);
// 메서드 참조로 변환
IntBinaryOperator operator = Math::max;
인스턴스 메서드
Calculator calculator = new Calculator();
IntBinaryOperator operator = calculator::instanceMethod;
생성자 메서드
Function<String, Member> function1 = Member::new;
BiFunction<String, String, Member> function2 = Member::new;
결론
좀더 가시성있고, 편리하게 사용가능하다.

반응형
'JAVA' 카테고리의 다른 글
태태개발일지 - 김영한 자바 고급 (1) | 2025.05.20 |
---|---|
태태개발일지 - JAVA 고급편(3) 김영한 람다 (1) | 2025.05.05 |
태태개발일지 - JAVA 고급편(3) 김영한 람다 (1) | 2025.05.02 |
태태코딩 - 람다(김영한 실전자바 고급 3편) (1) | 2025.04.27 |
태태개발일지 - 고급 java (김영한) 컬랙션 동시성 (1) | 2025.03.19 |