Skip to Content
Suffering builds character
아카이브11.로깅특징9. 함수형 인터페이스

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