[java] 자바 함수형 인터페이스를 사용하여 지연된 실행을 처리하는 방법은 어떻게 되나요?
자바에서 함수형 인터페이스를 사용하여 지연된 실행을 처리하는 방법은 Supplier
인터페이스를 활용하는 것입니다.
Supplier
는 단일 값(결과)을 반환하는 함수형 인터페이스입니다. 실행할 코드 블록을 지연하여 필요한 시점에 실행하고 결과를 반환할 수 있습니다. 아래는 Supplier
인터페이스를 사용하여 지연된 실행을 처리하는 간단한 예제입니다.
import java.util.function.Supplier;
public class DelayedExecutionExample {
public static void main(String[] args) {
Supplier<Integer> delayedExecution = () -> {
// 실행할 코드 블록
System.out.println("Delayed execution code block");
return 42; // 결과 반환
};
// 필요한 시점에 실행하기 위해 get() 메서드 호출
int result = delayedExecution.get();
System.out.println("Result: " + result);
}
}
위의 예제에서는 Supplier<Integer>
를 생성하고 get()
메서드를 호출하여 코드 블록을 실행합니다. 이때 Supplier
의 반환타입으로 Integer
를 지정하였으므로 코드 블록에서 Integer
타입의 결과값을 반환하였습니다. 실행 결과로 “Delayed execution code block”이 출력되고, 결과값인 42가 출력됩니다.
이 예제는 단순한 형태의 지연된 실행이지만, Supplier
를 활용하여 더 복잡한 작업도 처리할 수 있습니다. Supplier
의 반환타입을 원하는 타입으로 지정하여 필요한 시점에 실행하고 결과를 처리할 수 있습니다.
자바에서는 Supplier
외에도 Function
, Consumer
, Predicate
등 다양한 함수형 인터페이스가 제공되어 다양한 작업을 처리할 수 있습니다. 함수형 인터페이스를 활용하면 더 유연하고 간결한 코드를 작성할 수 있습니다.
참고 문서: