기초 지식/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는 알아서 바꾸라고 추천해준다

 

 

반응형