[java] 인터페이스를 사용하여 콜백 구현하기

자바에서는 인터페이스를 사용하여 콜백(callback)을 구현할 수 있습니다. 콜백은 비동기 이벤트 처리, 이벤트 핸들링, 비동기 작업 완료 후의 처리 등에서 유용하게 활용됩니다.

콜백이란?

콜백은 한 메서드를 다른 메서드의 파라미터로 전달하는 기술입니다. 이를 통해 비동기적인 작업의 완료나 이벤트 발생 등을 처리할 수 있습니다.

인터페이스를 사용한 콜백 구현하기

아래는 인터페이스를 사용하여 콜백을 구현하는 간단한 예제 코드입니다.

// 콜백을 정의하는 인터페이스
interface Callback {
    void onComplete(String result);
}

// 콜백을 사용하는 클래스
class Worker {
    void doWork(Callback callback) {
        // 작업을 수행한 후
        String result = "작업 완료";
        // 콜백을 호출하여 결과 전달
        callback.onComplete(result);
    }
}

// 콜백을 처리하는 클래스
public class Main {
    public static void main(String[] args) {
        Worker worker = new Worker();
        worker.doWork(new Callback() {
            @Override
            public void onComplete(String result) {
                System.out.println("작업 결과: " + result);
            }
        });
    }
}

위의 예제 코드에서 Callback 인터페이스는 onComplete 메서드를 정의하고 있습니다. Worker 클래스에서는 doWork 메서드를 통해 작업을 수행한 후에 전달받은 콜백을 호출하여 결과를 전달합니다. Main 클래스에서는 Worker 인스턴스를 생성하고, 익명 클래스를 사용하여 onComplete 메서드를 구현하여 콜백을 처리합니다.

결론

인터페이스를 사용하여 콜백을 구현하면 코드의 유연성을 높일 수 있으며, 비동기 작업이나 이벤트 처리 등 다양한 상황에서 유용하게 활용할 수 있습니다.

코드 예제 출처: https://www.baeldung.com/java-callbacks