```
자바에서 @FunctionalInterface 사용하는 한 가지 방법
```
이번 글을 통해 배워갈 내용
- @FunctionalInterface 정의
- @FunctionalInterface Annotation 예시
Annotation이란
https://codemasterkimc.tistory.com/397
@FunctionalInterface 정의
Java 1.8부터 지원되는 기능으로서
1개의 추상 메서드를 가진 인터페이스 (SAM Single Abstract Interface)를 함수형 인터페이스라고 합니다.
이러한 함수형 인터페이스는 자바 람다식에서 접근할 때 사용되는데 이를 컴파일러에게 함수형 인터페이스라고 알려서 컴파일 시 조건에 부합하지 않으면 에러를 출력하게 합니다.
@FunctionalInterface Annotation 예시
저는 자바에서 기본적으로 제공되는 함수형 인터페이스들만 사용하는 편이라서
직접 함수형 인터페이스를 만드는 일은 거의 없었지만 직접 만들수도 있습니다
Cat Functional interface
@FunctionalInterface
public interface CatFunctionalInterface<T>{
T hey();
}
Interface 구현
public class App {
public static void main(String[] args) {
CatFunctionalInterface<String> impl = () -> "hey";
System.out.print(impl.hey());
}
}
hey 출력
기타
Predicate, Supplier, Callable, Consumer, Comparator, Runnable 등 정말 다양한 종류의 Functional Interface들이 있고
함수형 인터페이스에 대해서 추가로 알아보고자 하시는 분들은 아래 링크를 참조해주시면 됩니다.
참조
https://www.baeldung.com/java-8-functional-interfaces
https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html
https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
'Java > Java 기타' 카테고리의 다른 글
Clean Code에 대한 김씨의 1가지 생각 (0) | 2022.05.26 |
---|---|
자바에서 @SafeVarargs사용하는 한 가지 방법 (0) | 2022.05.21 |
자바에서 @SupressWarnings 사용하는 한 가지 방법 (0) | 2022.05.21 |
자바에서 @Deprecated 사용하는 한 가지 방법 (0) | 2022.05.21 |
자바에서 @Override 사용하는 한 가지 방법 (0) | 2022.05.21 |