투케이2K

33. (TWOK/ALGORITHM) [Java] 패턴 - 콜백 (callback) 패턴 생성 및 사용 예시 본문

투케이2K 알고리즘

33. (TWOK/ALGORITHM) [Java] 패턴 - 콜백 (callback) 패턴 생성 및 사용 예시

투케이2K 2022. 7. 14. 08:40

[환경 설정 및 설명]

언 어 : Java

설 명 : 패턴 - 콜백 (callback) 패턴 생성 및 사용 예시

 

[소스 코드]

package ex6;

// [콜백 패턴 정의 클래스]
class CallObject {
	
	
	// [내부 인터페이스 정의 실시]
	interface CallBack {
		public void onMessage(String message);
	}
	
	
	// [전역 변수 선언 실시]
	CallBack callback;
	
	
	// [클래스 생성자 초기화 실시]
	public CallObject() {
		this.callback = null; // [초기화]
	}
	
	
	// [콜백 지정 메소드 정의 실시]
	public void setCallBack(CallBack callback) {
		this.callback = callback; // [매핑]
	}
	
	
	// [콜백 실행 메소드 정의 실시]
	public void excute(String inputData) {
		
		// [인풋으로 들어온 데이터를 그대로 CallBack 인터페이스 onMessage 메소드로 전달]
		this.callback.onMessage(inputData);
	}
}





// [콜백 패턴 수행 클래스]
public class MainActivity16 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("");
		System.out.println("================================");
		System.out.println("[Program Start]");
		System.out.println("================================");
		System.out.println("");
		
		
		// [CallObject 클래스 객체 생성 실시]
		CallObject callObject = new CallObject();
		
		
		// [콜백 리턴 이벤트를 받을 수 있는 메소드 정의 실시]
		callObject.setCallBack(new CallObject.CallBack() {
			@Override
			public void onMessage(String message) {
				// TODO Auto-generated method stub
				System.out.println("");
				System.out.println("================================");
				System.out.println("[callback] : [onMessage]");
				System.out.println("[message] : " + message);
				System.out.println("================================");
				System.out.println("");
			}
		});
		
		
		// [excute 수행 실시]
		for (int i=1; i<=2; i++) {
			System.out.println("");
			System.out.println("================================");
			System.out.println("[excute] : [콜백 명령 전달] : " + String.valueOf(i));
			System.out.println("================================");
			System.out.println("");
			
			callObject.excute(String.valueOf(i) + " : 투케이");
			
		}

	} // [메인 종료]

} // [클래스 종료]

[참고 사이트]

https://kkh0977.tistory.com/2082

 

270. (java/자바) class , interface 사용해 콜백 (callback) 패턴 정의 및 수행 실시

[개발 환경 설정] ​ 개발 툴 : Eclipse 개발 언어 : Java [소스 코드] ​ package ex6; // [콜백 패턴 정의 클래스] class CallObject { // [내부 인터페이스 정의 실시] interface CallBack { public void onMe..

kkh0977.tistory.com


 

반응형
Comments