# 람다식을 매개변수로 전달하는 경우
package lambda.param;
public interface MyFunction {
public void run();
}
package lambda.param;
public class LambdaParam {
static void execute(MyFunction f) {
f.run(); // 람다식을 받아 실행
}
static MyFunction getMyFunction() {
MyFunction f = () -> System.out.println("f3.run()");
return f;
}
public static void main(String[] args) {
MyFunction f1 = () -> System.out.println("f1.run()");
MyFunction f2 = new MyFunction() {
public void run() {
System.out.println("f2.run()");
}
};
MyFunction f3 = getMyFunction();
f1.run();
f2.run();
f3.run();
execute(f1); // 람다식을 매개변수로 전달
execute(() -> System.out.println("run()"));
}
}