콜백의 정의는
호출자가 피호출자를 호출하는 것이 아니라
피호출자가 호출자를 호출하는 것을 말한다.
콜백의 장점은 어떤 특정 조건이 만족 되었을 때 지정한 기능을 수행할수 있어 비동기로 효율적으로 기능을 수행할 수 있습니다.
(안드로이드에서 워낙 많이 사용해본 기억.)
일단 구현해보자!
저만의 방식으로 구현해봤습니다. 언제나 날카로운 지적 부탁드립니다.
package algo;
public class callback implements CallBackInterface {
public void test(){
TestClass testClass = new TestClass();
testClass.setCallBack(this);
testClass.callWork();
}
@Override
public void callBackMethod(String data) {
// TODO Auto-generated method stub
System.out.println(data);
}
public static void main(String args){
callback test = new callback();
test.test();
}
}
package algo;
public interface CallBackInterface {
void callBackMethod(String data);
}
package algo;
public class TestClass {
private callback callBack;
public TestClass(){
callBack = null;
}
public void setCallBack(callback callBack){
this.callBack = callBack;
}
public void callWork(){
String data = "안녕 세계";
callBack.callBackMethod(data);
}
}
hello world!
잘 작동한다.
'Kotlin & Java' 카테고리의 다른 글
자바 기본 타입 (Primitive type) (0) | 2020.02.27 |
---|---|
간단하게 코루틴 알아보기 (0) | 2020.02.16 |
무공변성 공변성 반공변성 (0) | 2020.01.24 |
[Java ] 두개의 리스트에서 중복되는 객체 비교 (0) | 2018.11.08 |
자바 객체 비교 (2) | 2017.05.01 |