// 함수형 인터페이스
@FunctionalInterface
public interface Adder {
int add(int a, int b);
}
// 람다 표현식을 통한 함수형 인터페이스 구현
Adder adder = (a, b) -> a + b;
이러한 제약 사항은 람다 표현식의 안전성을 보장하면서, 복잡한 동작을 피하도록 유도합니다.
// Hong 8
Doctor doctor8 = (hp) -> heal(hp);
doctor8.heal(100);
// Hong 8 v2
Doctor doctor8v2 = Main::heal; //이게 메소드 참조
doctor8v2.heal(100);
// Hong 9
Doctor doctor9 = hp -> System.out.println(hp);
doctor9.heal(100);
// Hong 9
Doctor doctor9v2 = System.out::println; // 이게 메소드 참조
doctor9v2.heal(100);