- 
          
          Java와 일급 함수JAVA 2023. 9. 18. 18:26일급함수프로그래밍 언어는 해당 언어의 함수들이 다른 변수처럼 다루어질 때 일급 함수를 가진다고 합니다. 예를 들어, 일급 함수를 가진 언어에서 함수는 다른 함수들에 전달인자로 제공되고, 다른 함수에 의해 반환될 수 있으며, 변수에 값으로서 할당될 수 있습니다. 일급 객체가 되기위한 충족 조건은 세가지가 있다. - 변수나 데이터에 할당 할 수 있어야 한다.
- 객체의 인자로 넘길 수 있어야 한다.
- 객체의 리턴값으로 리턴 할 수 있어야 한다.
 Java 에서는 위의 조건을 충족하지 않지만, 람다식을 이용하여 함수의 매개변수로 전달 할 수 있다. 함수형 인터페이와 람다구현해야 할 abstract method를 하나만 갖고 있는 인터페이스를 함수형 인터페이스라고 한다. @FunctionalInterface 어노테이션을 붙여준다. default 또는 static method는 존재해도 된다. @FunctionalInterface public interface PlusCalc <T extends Number>{ T plus(T x, T y); } public class FuncInterface { public static void main(String[] args) { PlusCalc<Integer> plusInt = (a, b) -> a + b; System.out.println(plusInt.plus(1,2)); } }함수형 인터페이스를 이용하여 람다식으로 표현해 보았다. 자바는 함수를 일급 객체로 취급하지 않지만 함수형 인터페이스를 통해 마치 변수에 함수를 할당하듯 표현이 가능하다. 'JAVA' 카테고리의 다른 글Spring Boot MessageConverter (0) 2024.06.24 Java mutable 과 immutable (1) 2023.10.08 Java Generic Compile 동작 (0) 2023.09.11 JVM Memory Area (0) 2023.09.08 Java 버전 별 ArrayList add 동작 (0) 2023.09.06