본문 바로가기
Java&Spring

[ 디자인패턴 ] 콜백 메서드 직접 만들어 보기

by JINJINC 2025. 1. 9.
728x90
반응형
학습 목표
1. 콜백 메서드의 개념과 동작 방식을 이해할 수 있다.
2. 콜백 메서드를 활용한 코드를 작성할 수 있다.
3. 콜백 메서드가 필요한 상황과 그 장점을 설명할 수 있다.

사전 기반 지식

  • 인터페이스: Java 인터페이스의 개념을 이해하고, 메서드를 선언하고 구현하는 방법을 알고 있어야 합니다.
  • 익명 클래스: 클래스 정의 없이 인터페이스를 바로 구현하는 익명 클래스의 사용법을 알고 있어야 합니다.

콜백 메서드 개념

콜백 메서드는 특정한 작업이 완료되었을 때 또는 특정 이벤트가 발생했을 때 호출되는 메서드입니다. 콜백 메서드는 주로 비동기 작업이나 이벤트 기반 시스템에서 사용됩니다. 콜백 메서드를 활용하면 동작을 정의하고 나중에 실행할 수 있기 때문에, 프로그램이 더 유연해지고 모듈화될 수 있습니다.

 

 

1. 콜백 메서드는 자바에서 인터페이스가 필요하다.

콜백 함수란?

콜백 함수는 특정 이벤트나 작업이 완료된 후 호출되는 함수입니다. 주로 비동기 프로그래밍에서 사용되며, 콜백을 통해 작업 완료 후의 행동을 정의할 수 있습니다.

자바에서 콜백은 인터페이스를 통해 구현됩니다. 인터페이스를 사용하여 특정 메서드를 정의하고, 이를 구현한 객체를 이벤트 발생 시 호출하여 원하는 동작을 수행합니다.

 

package desigin_pattern;

//인터페이스 설계는 기능중심 설계이다.
//1. 콜백 메서드는 자바에서 인터페이스가 필요하다.
interface IButtonListener {
  //추상 메서드만 가질 수 있음
    void clickEvent(String event);
}

public class Button  {

    String name;
    private IButtonListener listener;

    public Button(String name) {
        this.name = name;
    }


    // 버튼이 클릭 되었을때 콜백 메서드를 호출하자
    public void click(String message){
        if(listener != null){
            listener.clickEvent(message);
        }
    }

    //이벤트 리스너를 등록받는 메서드
    //생성자 의존 주입
    // 메서드 의존주입
    public void addEventListener(IButtonListener listener){
        this.listener = listener;
    }


}

 

package desigin_pattern;

public class MainTest {
    //코드의 시작점
    public static void main(String[] args) {

        Button button = new Button("클릭1 버튼");
        //이벤트 리스너를 설계할거임

        button.addEventListener( new IButtonListener() {
            @Override
            public void clickEvent(String event) {
                System.out.println("콜백 넘겨 받은 메세지 : "+event);
            }
        });

        System.out.println("----------------------------");
        System.out.println("버튼 클릭 이벤트를 만들거야");
        button.click("내가 클릭했어!!!");

    }

}

 

----------------------------
버튼 클릭 이벤트를 만들거야
콜백 넘겨 받은 메세지 : 내가 클릭했어!!!

 

728x90
반응형

댓글