<aside> 💡
직접 인터페이스를 만들일이 적기때문에 자바에서 제공하는 인터페이스를 사용할 일이 더 많다.
</aside>
→ 익명클래스보다 람다식을 더 간단하기 때문에 함수형 인터페이스를 사용할 때는 람다식이 더 권정된다
@FunctionalInterface
public interface Iadd {
int add(int x, int y);
}
public class Ex01_Function {
public static void main(String[] args) {
Iadd add = (x,y) ->x+y;
int res = result(add);
System.out.println("res : "+res);
}
public static int result(Iadd lamda) {
return lamda.add(1, 2);
}
}
@FunctionalInterface
public interface Iminus {
int sub(int x,int y);//추상메서드
}
public class FunctionExam {
//반환값과 반환형의 타입은 일치해야한다
public Iminus makeFIminus() {
return (x,y)->x-y;
}
}
public class Ex02_Function {
public static void main(String[] args) {
FunctionExam fe = new FunctionExam();
Iminus im = fe.makeFIminus();//(x,y) -> x-y
int res =im.sub(3,1);
System.out.println(res);
}
}