Method Referece
- 자바 1.8부터 도입된 문법으로 특정 람다 표현식을 축약한 것
- 가독성을 높일 수 있다
간단하게는 람다 표현식을 특수한 상황에서 좀 더 보기 편하게 작성하는 방식이라고 이해할 수 있습니다.
//람다식
(args) -> ClassName.staticMethod(args)
//메소드 참조
ClassName::staticMethod
//람다식
(arg0, rest) -> arg0.instanceMethod(rest)
//메소드 참조
ClassName::instanceMethod
//람다식
(args) -> expr.instanceMethod(args)
//메소드 참조
expr::instanceMethod
//모던자바인액션 참조
예시를 들어보자면 저는 주로 stream과 함께 자주 사용합니다.
public enum DefaultEnumType {
TEST_1,
TEST_2,
TEST_3;
//이런 식으로 사용한다
private static final Set<String> enumSet = Arrays.stream().map(Enum::name).collect(Collectors.toSet());
...
}
장점
- 가독성을 높일 수 있다
단점
- 몰라도 특별히 문제는 없고 좋은 IDE는 알아서 바꾸라고 추천해준다
반응형
'기초 지식 > Java' 카테고리의 다른 글
Java 1.8 Optional (0) | 2021.03.28 |
---|---|
Java 1.8 Default Method (0) | 2021.03.02 |
Java 1.8 Stream 정리 (0) | 2020.10.27 |
Java 1.8 Lambda Expression (람다 표현식) (0) | 2020.10.15 |
Java 각 버전의 특징들 (~JAVA21) (0) | 2020.10.15 |