(인자1, 인자2, ...) -> { 반환값 }
이후 배울 람다
라고 주석 표시한 코드 검색
sec06/chap04/ex02/Main.java
sec08/chap05/ex01/Main.java
@FunctionalInterface
로 강제default
메소드는 여럿 있을 수 있음☕ 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