Java에서 기본으로 제공하는 함수형 인터페이스는
Java.util.function패키지에 있다.
자주 사용할만한 함수 인터페이스는...
Function<T,R>
BiFunction<T,U,R>
Consumer
Supplier
Predicate
UnaryOperator
BinaryOperator
하나씩 살펴보겠습니다.
Function<T,R>
T타입을 받아서 R타입을 리턴하는 함수 인터페이스
Function<Integer, Integer> add1 = (i) -> i+1;
BiFunction<T,U,R>
: 두 개의 값(T,U)를 받아서 R 타입을 리턴하는 함수 인터페이스
Consumer
: T타입을 받아서 아무값도 리턴하지 않는 함수 인터페이스
Consumer<Integer> printT = (i) -> System.out.println(i);
Supplier<Integer> get10 = () -> 10;
UnaryOperator
: Function<T,R>의 특수한 형태로, 입력한 하나를 받아서 동일한 타입을 리턴하는 함수 인터페이스
UnaryOperator<Integer> plus10 = (i) -> i + 10;
BinaryOperator
: BiFunction<T,U,R>의 특수한 형태로, 동일한 타입의 입력값 두 개를 받아 리턴하는 함수 인터페이스
BinaryOperator<Integer> sum = (a,b) -> a + b;
주요 함수에 대해 알아보았습니다.
참고 링크
JAVA공식문서