9. 함수형 인터페이스
1. 함수형 인터페이스(Functional Interface)
함수형 인터페이스란 단 하나의 추상 메서드만 선언된 인터페이스를 말함
Calculator.java
@FunctionalInterface // 함수형 인터페이스
public interface Calculator {
int add(int a, int b);
}제약조건
일반 인터페이스와는 다르게 함수형 인터페이스는 단 하나의 추상 메서드만 선언해야함
왜냐하면 int sub(int a, int b);와 같은 뺄셈 기능이 추가될 경우,
인터페이스(Calculator c2)와 람다식이 1:1로 매칭이 불가능해짐
Calculator.java
@FunctionalInterface
public interface Calculator {
int add(int a, int b);
int sub(int a, int b); // 컴파일 에러. Multiple non-overriding abstract methods found
}2. @FunctionalInterface Annotation
@FunctionalInterface는 개발자가 이러한 제약을 잘 준수하였는지 자바 컴파일러를 통해 확인시키도록 적용하기 위한 Annotation
해당 Annotation을 작성하면 IDE에서 컴파일 에러를 감지함
Calculator.java
@FunctionalInterface
public interface Calculator {
int add(int a, int b);
// int sub(int a, int b); // Multiple non-overriding abstract methods found
}Last updated on