ios개발/함수형 프로그래밍

<함수형 프로그래밍> 리스너 콜백?

studying develop 2020. 11. 1. 13:05

FRP 입문자를 위한 종합 안내서, 스티븐 블랙히스, 앤서니 존스 지음의 책을 읽는 중이다.

 

책 초반에, "모든 FRP 시스템이 내부적으로 리스너를 사용하지 않는다"는 문구가 있는데, 리스너랑 콜백이 무엇인지 알아보려 한다. 

 

[onlyfor-me-blog.tistory.com/47] 이분이 이미 조사를 많이 하셨다...

 

위 분의 결론 :

- 콜백 메서드는 다른 함수에 인수로 넣을 수 있는 메서드고, 보통 on으로 시작하는 것들이 콜백 함수다. 버튼 클릭 등 이벤트가 발생하면 이에 맞는 작업을 수행하기 위해 코드를 작성하는 곳이다.

 

- 리스너는 특정 이벤트를 처리하는 인터페이스로, 추상 메서드인 onTouch()를 받아서 실행하며 이벤트 핸들러라고도 한다. 사용자와 상호작용하는 이벤트 발생 시 안드로이드 프레임워크의 인터페이스를 호출한다.

 

 

음 즉 리스너는 특정 이벤트 발생시 연결된 핸들러(리스너)들에게 사건 발생을 알려준다. 콜백은 원래 호출함수가 피호출함수를 호출하지만, 반대로 피호출함수가 호출함수를 호출하는 것을 콜백이라고 한다.

 

단어는 하나인데 내포하는 의미가 다양해서 찾아보면 이런 저런 다른 말로 써있는거 같다.

 

▶ 사용자가 어떤 액션을 취할 때 마다 (예를 들어 어떤 버튼을 클릭, 키보드의 어떤 키를 누른다던지 하는 등)

   메시지가 발생하여 해당 메시지의 핸들러가 미리 정의해 놓은 행동을 하는것. 

   이것이 안드로이드의 Listener 이다.

[출처] [Android 용어] 안드로이드 리스너(Listener), 콜백함수(CallBack Function)|작성자 사자머리님