Java

JAVA8) 함수형 인터페이스

95_뽀로로 2020. 12. 11. 01:22

함수형 인터페이스는 하나의 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