함수형 인터페이스

🎲 Runnable
parameter와 return이 모두 필요 없음
Runnable r1 = ()->{
System.out.println("Runnable의 run() : para(x), ret(x)");
}
🎲 Supplier
return만 필요
Supplier<String> s = ()->{
String ret = "Supplier의 get() : para(x), ret(o)";
System.out.println(ret);
return ret;
}
🎲 Consumer
parameter만 필요
Consumer<String> c = (s)->{
System.out.println("Consumer의 accept(T t) : para(o), ret(x)");
}
🎲 Function
parameter와 return 모두 필요
Function<Integer,String> f = (i)->{
String ret = "Function의 apply(T t) : para(o), ret(o)");
System.out.println(ret);
return ret;
}
🎲 Predicate
parameter와 return 모두 필요, return값은 boolean으로 고정
Predicate<Integer> p = (i)->{
System.out.println("Predicate의 test(T t)"+" : para(t), ret(boolean)");
return true;
}
🎲 UnaryOperator
parameter와 return 모두 필요, 같은 자료형
UnaryOperator<String> u = (s)->{
System.out.println("UnaryOperator의 test(T t)"+" : para(t), ret(t)");
return s+".class;
}