Java lang

[Java] 함수형 인터페이스

Razelo 2022. 10. 24. 19:29

함수형 인터페이스는 오직 1개의 추상 메소드를 갖는 인터페이스를 말한다. 

 

Java8 부터 인터페이스가 구현체는 물론 Default Method 까지 포함할 수 있다고 한다. 

 

그런데 이러한 요소들이 얼마나 있는지와는 관계없이 추상 메서드가 딱 하나 있다면 그걸 함수형 인터페이스라고 부른다고 한다. 

 

@FunctionalInterface 어노테이션을 사용해서 조건에 맞는지 검사할 수 있다. 

 

또한 Java에서 기본적으로 제공하는 Functional Interface가 있다고 한다. 

사실 실제로 Functional Interface 를 직접 만들어서 사용하는 경우는 드물고 이미 만들어져있는걸 주로 사용한다고 한다. 

 

어디선가 한번쯤은 들어밨을 법한 Functional Interface들은 아래와 같다. 

 

1. Predicate

2. Consumer

3. Supplier

4. Comparator

5. Runnable

6. Callable 

 

각 함수형 인터페이스 별로 사용법과 내용이 꽤나 디테일한데 해당 내용은 굳이 외울 필요는 없고 그냥 필요할때 도큐보고 쓰도록 하자. 

 

https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

 

java.util.function (Java Platform SE 8 )

Interface Summary  Interface Description BiConsumer Represents an operation that accepts two input arguments and returns no result. BiFunction Represents a function that accepts two arguments and produces a result. BinaryOperator Represents an operation u

docs.oracle.com

 

반응형