Study/Java
Callback Interface
MWP
2017. 1. 23. 02:13
Callback
피호출자(callee) 가 호출자(caller) 를 호출하는것을 의미한다
다음과같은 Main 함수 내에서 Caller 인 Main 함수는 Callee 를 생성하고 Callee 의 함수를 호출 할 수 있다
1 2 | Callee callee = new Callee(); callee.doSomething(); |
그러나 Callee 가 Caller(Main) 을 호출해야 할 땐 Callback 이나 Handler 를 이용할 수 있다
LoginResultCallback.java
1 2 3 4 | public interface LoginResultCallback { public void resultOK(String id, String pw); } |
Main.java 내부
1 2 3 4 5 6 7 8 | LoginResultCallback callback = new LoginResultCallback() { @Override public void resultOK(String id, String pw) { // Callee 에서 호출시 호출됨 } }; Callee callee = new Callee(callback); |
Callee.java 내부
1 2 3 4 5 6 7 8 9 | // 생성자 public Callee(LoginResultCallback callback) { // 콜백 등록 this.callback = callback; } public void doSomething(){ callback.resultOK("아이디","패스워드"); } |
Callee 에서 Main 함수로 callback 요청.