함수형 인터페이스는 하나의 abstract 메소드를 가지는 인터페이스이다.
앞선 함수형 프로그래밍의 특징 중 1급 객체라는 것이 있었다.
변수와 collection에 자료를 할당하고,
함수의 파라미터로 넘겨주고,
반환값으로 사용이 가능하다는 것.
Java의 함수는 이런 역할을 할 수 없다.
java에서 함수를 1급 객체처럼 다룰 수 있게 하기 위해 생긴 것이 함수형 인터페이스이다.
interface Movable {
void move(int num);
}
이 인터페이스를 구현한 클래스로 만든 객체는 하나의 단 하나의 함수를 가진다.
이는 1:1관계가 되어 이 객체를 만드는 것은 이 함수를 사용한다는 말과 같게 됨으로써 1급 객체처럼 사용할 수 있다.
자바의 주요 함수형 인터페이스)
Function<T, R> : 하나의 T를 매개변수로 입력받아 하나의 R로 변환하여 반환.
Supplier<T> : 매개변수 없이 T라는 단일 반환값을 만들어냄.
Consummer<T> : T라는 단일 매개변수를 받아들여 리턴값이 없는 작업을 함.
docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
'Java' 카테고리의 다른 글
JAVA8) 메소드 레퍼런스 (0) | 2020.12.11 |
---|---|
JAVA8) 람다 표현식 (0) | 2020.12.11 |
함수형 인터페이스 (0) | 2020.12.11 |
static 메소드 사용 (0) | 2020.12.09 |
equals() Overriding (0) | 2020.12.09 |