반응형
리스너와 콜백 메소드는 많은 곳에서 쓰인다. 전에 한창 포스팅 하였던 Node.js도 Event driven 방식으로 동작하였다.
대개 그렇겠지만, 안드로이드 상에서 이벤트와 리스너와 콜백 메소드의 상관관계를 보면 다음과 같다.
사용자가 트리거 행위를 하면 이벤트가 발생한다. 이 이벤트가 발생하자마자 리스너가 감지하고, 리스너는 사전에 정해진 콜백 메소드를 호출하는 방식으로 동작하는 것이다.
예를 들어, 사용자가 화면상에 버튼을 클릭하게 되면
1. 화면이 클릭됐다는 이벤트 발생
2. 해당 버튼의 클릭 이벤트에 대한 리스너인 OnClickListener() 가 이벤트를 감지
3. OnClickListener() 내부에 사전에 구현된 '콜백 메소드' onClick(View v) 가 호출되어 동작
하는 방식으로 동작한다.
즉, 콜백 메소드는 프로그램이 메소드를 호출하여 실행하는 것이 아니라 이벤트 등이 발생하였을 때 자동으로 호출되어 실행되는 메소드를 말한다.
반응형