자바 8부터 함수형이 도입되며 자바에서도 자바스크립트에서와 같이 함수를 일급 객체 (고차 함수,... 등등 이와 얽힌 용어들이 매우 다양하더라....)로 쓸 수 있게 되었다. 즉 함수를 변수에 할당하고 이를 넘겨주거나 하는 동작이 가능해졌다.
Function.apply도 이의 일환으로 자바 8에서 함께 도입된 것으로, 이 인터페이스를 이용하면 변수로 넘겨진 함수를 이후에 apply 메서드를 통해 적용가능하다.
// 사용 예시
import java.util.function.Function;
public class Student {
public String name;
public int age;
public Student(String name,int age){
this.name = name;
this.age = age;
}
public String customShow(Function<Student,String> fun){
return fun.apply(this);
}
}
참고자료
https://www.concretepage.com/java/jdk-8/function-apply-in-java-8
https://beomseok95.tistory.com/214 일급객체, 고차함수