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
반응형
'Java&Spring' 카테고리의 다른 글
[디자인패턴] 싱글톤 패턴 (0) | 2025.01.09 |
---|---|
[ 디자인패턴 ] 디자인 패턴이란? (0) | 2025.01.09 |
[ Java ] BufferedReader , BufferedWriter ,StringTokenizer (0) | 2023.08.06 |
댓글