JAVA

Callback sample

CodePoetry 2014. 2. 8. 16:12

Inspiration

"어떤 사건이 발생했을 때 무언가 반응하게 하고싶다."

  • 어떤 사건 : callback interface를 구현하는 주체. 주로 앱에서 벌어진 일.
  • 반응 : interface를 구현할 때 override한 method (이것이 콜백메소드)

간단한 구현 순서는 아래와 같다.

* Callback 내부 인터페이스를 가지는 클래스(A)를 생성한다.

  1. 클래스 내에서 callback 인터페이스 타입의 멤버 객체를 생성한다. 이때 외부 클래스에서 사용할 method를 추상 메소드로 만든다.
  2. 외부 클래스와 연결할 수 있는 콜백 setter method를 생성한다.
  3. "사건(이벤트)"를 판단하는 조건을 포함한 method를 생성한다. 조건에 부합하면 callback 인터페이스의 추상 method를 호출한다.

* Callback을 사용할 외부 클래스를 생성한다.

  1. 클래스(A) 타입의 객체를 생성한다.
  2. 위에서 만든 객체를 이용해 callback 인터페이스 타입의 멤버를 생성한다. 생성을 위해서는 callback 인터페이스의 추상 메소드를 반드시 override해 구현해야 한다.
  3. 클래스(A)의 콜백 setter method를 이용해 위 멤버를 등록한다. 준비완료!
  4. 이벤트 발생시점에 도달하면 override한 동작이 수행된다.

 






[결과]

Current sum is : 55 and exceeded : 5

Current sum is : 66 and exceeded : 16

Current sum is : 78 and exceeded : 28

Total is : 78