기초 지식/Java
Java 1.8 method reference (메소드 레퍼런스)
MarrRang
2020. 10. 21. 18:50
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는 알아서 바꾸라고 추천해준다
반응형