기술 블로그
자바 콜백 본문
콜백(Callback)은 이름에서 예상할 수 있듯이 호출(Call)을 거꾸로(Back) 하는 것입니다.기촌에 호출자가 피호출자를 부르는 것과 반대로
피호출자(Callee)가 호출자(Caller)를 부르게 되죠.
일반적으로 사용자가 시스템에 임의의 서비스를 호출하는 것이 보편적입니다. 즉, 처리루틴은 시스템에 존재하고 사용자가 해당 루틴을 요청함에 따라 동작이 일어나는 것이죠.
이런 정상적인 호출과 달리 시스템 측에서 이벤트를 발생시켜 이에 대한 처리를 해달라고 요청해오는 과정에서 콜백이 사용됩니다. 일반적인 경우와 반대가 되는 상황이죠.
프로그래밍에서 콜백(callback)은 다른 코드의 인수로서 넘겨받는 서브루틴이다. 이를 통해 높은 수준의 층에 정의된 서브루틴(또는 함수)을 낮은 수준의 추상화층이 호출할 수 있게 된다. 일반적으로 먼저 높은 수준의 코드가 낮은 수준의 코드에 있는 함수를 호출할 때, 다른 함수의 포인터나 핸들을 넘겨준다. 낮은 수준의 함수를 실행하는 동안에 그 넘겨받은 함수를 적당히 회수, 호출하고, 부분 작업을 실행하는 경우도 있다. 다른 방식으로는 낮은 수준의 함수는 넘겨받은 함수를 '핸들러'로서 등록하고, 낮은 수준의 층에서 비동기적으로(어떠한 반응의 일부로서) 다음에 호출하는데 사용한다. 콜백은 폴리모피즘과 제네릭프로그래밍의 단순화된 대체 수법이며, 어떤 함수의 정확한 동작은 그 낮은 수준의 함수에 넘겨주는 함수 포인터(핸들러)에 의해 바뀐다. 이것은 코드 재사용을 하는 매우 강력한 기법이라고 말할 수 있다.
참고 블로그:http://blog.saltfactory.net/implement-java-callback/
'백엔드 > JAVA' 카테고리의 다른 글
인스턴스와클래스, 동적 바인딩 (0) | 2023.10.29 |
---|---|
arrayList에 모델클래스로 여러개 담기 (0) | 2018.11.17 |
자바 기초2 객체지향 (0) | 2018.11.03 |
자바 기초 1 제어문 (0) | 2018.11.03 |
점프 투 자바 학습계획 (0) | 2018.09.26 |