반응형

콜백과 리스너는 비슷해 보이면서 아래와 같은 차이점을 가지고 있다.

 

콜백(Callback) : 이벤트가 발생하면 특정 메소드를 호출해 알려준다. (1개)

리스너(Listener) : 이벤트가 발생하면 연결된 리스너(핸들러)들에게 이벤트를 전달한다 (n개)

 

 

리스너 만들어보기

 

Listener 인터페이스이다.

지금은 onEvent 메서드만 있다.

package CallbackAndListener;

public interface Listener {
	void onEvent();
}

 

MyListener 클래스이다.

Listener을 implements하고있고 onEvent에 대한 메서드를 오버라이딩 하고있다.

package CallbackAndListener;

public class MyListener implements Listener{
	@Override
	public void onEvent() {
		System.out.println("hello world2");			
	}	
}

 

메인 클래스이다.

여기서는 정적으로 리스너를 익명 클래스로 생성하는 방법과

Listener 인터페이스를 구현해둔 MyListener을 생성해서 쓰는 두가지를 보여주고 있다.

package CallbackAndListener;

public class ListenerMain {
	public static void main(String[] args) {
		listener.onEvent();
		
		Listener myListener = new MyListener();
		myListener.onEvent();
	}

	static Listener listener = new Listener() {
		@Override
		public void onEvent() {
			System.out.println("hello world");
		}
	};
}

 

hello world
hello world2

 

 

자바에서 콜백 구현은 아래 링크를 참조한다.

http://www.dreamy.pe.kr/zbxe/CodeClip/3768942

 

[Java] 자바에서 콜백(Callback) 구현하기

http://blog.naver.com/PostView.nhn?blogId=2hyoin&logNo=220398943180 프로그래밍 언어는 사용자에게 구현을 하기 위한 여러 기능들을 제공합니다. 콜백(Callback) 함수는 WinAPI를 이용한 윈도우즈 프로그램 개발에서 많이 보셨을 수도 있겠지만, 기본적인 함수 호출의 개념의 반대라고 보시면 됩니다.  일반적인 함수 호출(Call)에서 호출 하는 함수, 호출자(Caller)와 호출을 당하는 함수, 피호

www.dreamy.pe.kr

 

반응형