익명 클래스가 바인딩되지 않은 메서드 참조로 변환되는 경우,
후속 호출 중 Java 런타임에서 동일 메서드 참조 객체를 다시 사용할 수 있습니다. 반면 익명 클래스를 사용하면
매번 별도의 객체가 생성됩니다. 따라서 빠른 수정 적용 시 드물게 의미가 변경될 수 있습니다.
예: 익명 클래스 인스턴스가 HashMap 키로 사용되는 경우.
예:
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println();
}
};
빠른 수정을 적용한 후:
Runnable r = System.out::println;
인터페이스에 @FunctionalInterface 어노테이션이 추가되지 않은 경우 보고 옵션을 사용하여 @FunctionalInterface 어노테이션이 추가되지 않은 인터페이스에 대한 검사를 활성화합니다.