프로그래밍 노트/JAVA

[JAVA] java.util.function FunctionalInterface(함수적 인터페이스) 종류

깡냉쓰 2019. 6. 30. 22:33
728x90
반응형

자바에서 한 개의 추상 메소드를 가지는 인터페이스들은 모두 람다식을 이용할 수 있다.
Runnable 인터페이스도 마찬가지이다.

Runnable runnable = () -> { ... }; 
Thread thread = new Thread(() -> { ... }); // Thread 생성자 호출

자바8부터 빈번하게 사용되는 함수적 인터페이스(functional Interface)는 java.util.function 표준 API패키지로 제공한다.
java.util.function이 제공하는 functional Interface의 목적은 메소드 또는 생성자의 매개 타입으로 사용되어 람다식에 대입될 수 있다.

함수적 인터페이스는 크게 Consumer, Supplier, Function, Operator, Predicate가 존재한다.

FunctionalInterface method 설명
Consumer<T> void accept(T t) 매개변수 T, 반환 없음
Supplier<T> T get() 매개변수 없음, 반환 T
Function<T, R> R apply(T t)

매개변수 T, 반환 R

주로 매개값을 리턴값으로 매핑(타입 변환)

XXXOperator applyXXX

매개변수, 반환 존재(표현하기 애매)

주로 매개값을 연산하고 결과를 리턴

Predicate<T> boolean test(T t) 매개변수 T, 반환 boolean

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 up

docs.oracle.com

JAVA API를 참고하자.

Functional Interface의 세세한 내용은 다른 포스팅에서 다룬다.

2019/07/01 - [프로그래밍 노트/JAVA] - [JAVA] Consumer 함수적 인터페이스(Functional Interface)

2019/07/01 - [프로그래밍 노트/JAVA] - [JAVA] Supplier 함수적 인터페이스(Functional Interface)

2019/07/01 - [프로그래밍 노트/JAVA] - [JAVA] Function 함수적 인터페이스(Functional Interface)

2019/07/25 - [프로그래밍 노트/JAVA] - [JAVA] Predicate 함수적 인터페이스

2019/07/25 - [프로그래밍 노트/JAVA] - [JAVA] Operator 함수적 인터페이스

 

728x90
반응형