람다식으로 구현되어 있는 메소드를 참조할 수 있도록 하는 특수 문법이다.
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는 세 가지 작성법이 있다.
System.out::println // same as (x)-> System.out.println(x)
this::equals //same as (x) -> this.equals(x)
Math::pow // same as (x,y) -> Meth.pow(x,y)
String::compareToIgnoreCase(x,y) // same as (x,y) -> x.CompareToIgnoreCase(y)
CS차원에서 작성하기