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. 참고
'소프트웨어 > Java' 카테고리의 다른 글
java Thread 모양 익히기. 2가지 종류(예제, 코드) (0) | 2015.01.16 |
---|---|
java에서 public final class란? (0) | 2015.01.14 |
java에서 interface란? (0) | 2015.01.07 |
java - jni로 hello world 출력하기 (0) | 2014.11.13 |
java 설치 후 명령어가 안될때 - 우분투(ubuntu 14.04) (0) | 2014.11.12 |