소프트웨어/Java

java/자바 에서 call back에 대해서 공부해보기 -1

개발자_이훈규 2015. 1. 7. 11:25

java/자바 에서 call back에 대해서 공부해보기 -1



1. 목적

callback 예제를 작성해보고 사용 방법을 이해해보자.

callback을 사용하는 방법을 알게되었다.



1. 환경 셋팅

java, ubuntu 14.04



1. Source

CallbackTest.java



1. 실행방법

$ javac CallbackTest.java

$ java CallbackTest


1. 결과

Current sum is 55 and exceeds 5

Current sum is 66 and exceeds 16

Total is 66


1. 이해한 점
Sum클래스의 OnMaxNumberCb의 함수인 onMaxNumber의 구현을 public abstract정도로 남겨두고,
main function에서 onMaxNumber의 구현이 된 객체를 setOnMaxNumber함수를 이용해서 set한다.

그렇게 되면 main에서 addNumber함수를 이용해서 Sum객체를 부르다가, 23번째 줄인 onMaxNumver의 부분에서는
main의 구현으로 올라와서 동작하게 된다.

구조로 살펴보면
main --addNumber function call--> Sum --if( number >= maxNumber) myCallback.onMaxNum(...)--> main-> Sum
이런식으로 돌아온다. 즉, 특정 상황에서는 Sum객체에서 동작을 하다가 main의 구현부(포인터를 통해 call된다.)의 동작을 하고 다시 Sum객체로 돌아가게 된다.



1. 참고

http://rockdrumy.tistory.com/1058