[Java] - Method References

Lofo·2021년 5월 3일
0

Java

목록 보기
3/5
post-thumbnail

Method Reference

무엇인가?

람다식으로 구현되어 있는 메소드를 참조할 수 있도록 하는 특수 문법이다.

	Timer t = new Timer(1000, event -> System.out.println(event));

위에 있는 람다식으로 작성한 코드를 method reference를 통해 다음과 같이 짧게 참조하는 식으로 작성할 수 있다.

	Timer t = new Timer(1000, System.out::println);

이 예시에서 사용된 method reference의 형식은 object::intanceMethod이다.

어떻게 작성하는가?

Method Reference는 세 가지 작성법이 있다.

  • object::instanceMethod
    주어진 object의 Method를 호출하고, 파라미터는 instance Method로 전달된다.
System.out::println // same as (x)-> System.out.println(x)
this::equals //same as (x) -> this.equals(x)
  • Class::staticMethod
    모든 파라미터가 static 메소드로 전달된다.
	Math::pow // same as (x,y) -> Meth.pow(x,y)
  • Class::instanceMethod
    첫번째 파라미터는 method를 전달받는 object가 되고, 두번째 파라미터는 해당 method로 전달된다.
	String::compareToIgnoreCase(x,y) // same as (x,y) -> x.CompareToIgnoreCase(y)

왜 사용하는가?

CS차원에서 작성하기

profile
Love God, Love People, Love Code.

0개의 댓글