📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다.
Event Model | 내용 |
---|---|
Hierarchy Event Model | 원론적 이벤트 |
Delegation Event Model | OOP 적 이벤트 |
사실 많이 거론되는 용어는 아니라고 한다. 하지만 이벤트 처리 방법의 구분을 위해 알아두자.
touch Event 혹은 Key Event를 프로그램에서 직접 처리한다.
onTouchEvent() : 액티비티를 터치했을 때
onKeyDown() : 키를 눌렀을 때
onKey Up() : 키를 뗀 순간
View에 바인딩을 걸어 이벤트를 처리한다.
-> 프로그램의 명료성
Event가 발생한 객체
와 Event 종류
가 명료해야 한다.
버튼과 체크박스와 리스트뷰가 있다.
물론 터치 이벤트로 모두 처리할 수 있다. 터치 지점의 좌표를 구하면 된다.
좌표가
버튼의 내부인지, 체크박스의 네모 안 인지, 리스트뷰의 어느 목록인지 구분하면 된다.
하지만 이것은 명료성이 떨어진다.
그래서 어느 객체
에서 이벤트가 발생했는지,
어떤 성격
의 이벤트 처리를 할지 구분하여 명료성을 확보할 수 있다.
📌 이것이 바로 Delegation 이벤트 모델
이다.
좌표를 구하는 것이 아닌 버튼, 체크박스, 리스트뷰를 객체로 바인딩하고,
성격에 따라 이벤트 종류를 구분하여 이벤트 처리를 한다.
버튼을 '클릭했을 때', -> click Event
체크박스의 상태를 '변경했을 때', -> StateChange Event
리스트의 항목을 '선택했을 때' -> ItemClick Event
즉, 이벤트 종류를 좀 더 세분화하여 처리할 수 있는 것이다.