Learn & Run

Java - 메서드 래퍼런스 이해하기 본문

Java

Java - 메서드 래퍼런스 이해하기

iron9462 2021. 1. 19. 21:44

목표

 

RxJava에서는 람다 표현식을 자주 사용하기 때문에 메서드 래퍼런스를 배워보면 좋을 것이라고 생각합니다. 이번 시간에는 메서드 래퍼런스를 이용하여 람다 표현식을 조금 더 간결하게 표현해 보도록 합니다.

 

 

1. 메서드 래퍼런스란?

 

위의 그림과 같이 람다 표현식은 메서드 레퍼런스로 바꿔 사용할 수 있습니다.

 

  • 우리말로 번역하면 메서드 참조라는 의미입니다.
  • 람다 표현식의 몸체 부분에 기술되는 메서드를 이용해서 표현되며, 메서드의 이름만 전달합니다.
  • 구분자(::)를 붙이는 방식으로 메서드 레퍼런스를 표현합니다.
  • 메서드 래퍼런스를 사용하면 람다 표현식은 더욱 간결해지게 됩니다.

 

 

2. 메서드 래퍼런스의 유형

 

  • ClassName :: Static Method
  • 예) (String s) -> Integer.parseInt(s) --> Integer::parseInt

 

 

 

  • ClassName :: Instance Method
  • 예) (String s) -> s.toLowerCase() --> String::toLowerCase

 

 

 

  • Object :: Instance Method
  • 람다 표현식 외부에 참조하는 인스턴스 메서드가 있는 경우를 말합니다.
  • 예) (int count) -> obj.getTotal(count) --> obj::getTotal

 

 

 

  • ClassName :: New
  • 예) () -> new Car()