자바에서 한 개의 추상 메소드를 가지는 인터페이스들은 모두 람다식을 이용할 수 있다.
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 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 함수적 인터페이스
'프로그래밍 노트 > JAVA' 카테고리의 다른 글
[JAVA] Supplier 함수적 인터페이스(Functional Interface) (1) | 2019.07.01 |
---|---|
[JAVA] Consumer 함수적 인터페이스(Functional Interface) (0) | 2019.07.01 |
[JAVA] Stream 커스텀 집계 (0) | 2019.06.30 |
[JAVA] Stream 기본집계 (0) | 2019.06.30 |
[JAVA] Stream Looping(루핑, peek(), forEach()) (0) | 2019.06.17 |