디자인 패턴

[디자인 패턴] 5. 콜백 메서드

Song hyun 2024. 9. 25. 15:21
728x90
반응형

[디자인 패턴] 5. 콜백 메서드

 

1. 콜백 메서드란?

(1) 콜백 메서드 개념: 콜백 메서드는 특정한 작업이 완료되었을 때, 또는 특정 이벤트가 발생했을 때 호출되는 메서드이다.

 

(2) 콜백 메서드의 특징:

-콜백 메서드는 주로 비동기 작업, 이벤트 기반 시스템에서 사용된다.

-콜백 메서드를 활용하면 동작을 정의하고, 나중에 실행할 수 있기 때문에 프로그램이 더 유연해지고 모듈화될 수 있다!

 

 

 

2. 시나리오 코드 : 버튼 클릭 이벤트 처리

 

 

(1) Button.java

package ch01;

// 콜백 메서드 만들어보기
// 인터페이스 만들기

/**
 * 버튼 클릭 이벤트 인터페이스 (콜백 메서드 정의)
 */
interface IButtonListener{
    void clickEvent(String event);
}

// 버튼 클리새
public class Button {
    String name; // 버튼 이름
    // 중요!
    private IButtonListener buttonListener; // 버튼에 연결된 리스너 (콜백 메서드)

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

    // 버튼이 클릭되었을 때 콜백 메서드 호출
    public void click(String message){
        if(buttonListener != null){
            buttonListener.clickEvent(message); // 버튼 클릭 이벤트 발생
        }
    }

    public void addEventListener(IButtonListener iButtonListener){
        this.buttonListener = iButtonListener;
    }
}

 

 

(2) MainTest.java

package ch01;

public class mainTest {

    // 버튼 클래스 생성
    public static void main(String[] args) {
        Button button = new Button("나의 버튼");
        
    // 버튼 인스턴스에 콜백 메서드 동작 정의
    button.addEventListener( new IButtonListener(){
            @Override
            public void clickEvent(String event) {
                System.out.println("-------------");
                System.out.println(">> 콜백 메서드 실행 <<");
                System.out.println(event);
                System.out.println("-------------");
            };
    });

    button.click("안녕 홍길동");
    }
}

 

 

728x90
반응형