(인자1, 인자2, ...) -> { 반환값 }

람다식 lambda expression


함수형 인터페이스 FunctionalInterface

☕ Printer.java

@FunctionalInterface
public interface Printer {
    void print ();

    //  void say (); // ⚠️ 둘 이상의 메소드는 불가
}

☕ Main.java

				Printer printer1 = new Printer() {
            @Override
            public void print() {
                System.out.println("람다식이 없었을 때 방식");
            }
        };

        Printer printer2 = () -> {
            System.out.println("인자도 반환값도 없는 람다식");
        };
        Printer printer3 = () -> System.out.println("반환값 없을 시 { } 생략 가능");
        Printer printer4 = () -> {
            System.out.println("코드가 여러 줄일 때는");
            System.out.println("{ } 필요");
        };

        for (Printer p : new Printer[] {printer1, printer2, printer3, printer4}) {
            p.print();
        }

☕ Returner.java

@FunctionalInterface
public interface Returner {
    Object returnObj ();
}

☕ Main.java