Java가 제공하는 함수형 인터페이스
함수형 인터페이스 표준 API
함수형 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스를 말합니다.
이 인터페이스 형태의 목적은 자바에서 람다 표현식(Lambda Expression)을 이용해 함수형 프로그래밍을 구현하기 위해서 입니다.
함수적 인터페이스 표준 API는 java.util.function 패키지로 제공됩니다.
이러한 인터페이스들을 만든 이유는 람다 함수의 타입명을 미리 지정하기 위해서 입니다.
1
2
3
import java.util.function.*;
Runnable 인터페이스
대표적인 예) 쓰레드
1
2
3
4
5
Thread thread = new Thread( () -> {
for(int i = 0; i < 10; i++) {
System.out.println(i);
}
} );
Thread 클래스 정의문에 가서 생성자 형태를 보면 파라미터로 Runnalbe 타입의 target 변수를 받아 사용합니다.
Consumer 인터페이스
역할 : 매개값만 받고 처리합니다. (리턴값 X)
실행 메서드 : accept()
Supplier 인터페이스
역할 : 아무 매개값 없이 리턴값만을 반환합니다.
실행 메서드 : getXXX()
Function 인터페이스
역할 : 다른 타입으로 변환합니다.
실행 메서드 : applyXXX()
Operator 인터페이스
역할 : 매개값을 계산해서 동일한 타입으로 리턴합니다.
실행 메서드 : applyXXX()
Predicate 인터페이스
역할 : 매개값을 받고 true/ false로 리턴합니다.
실행 메서드 : test()
This post is licensed under CC BY 4.0 by the author.