객체지향언어인 C++로 프로그래밍을 하다보면 handle, handler란 용어나 클래스들을 접하기도 한다. 사전적 의미는 손잡이 정도로 해석되는데 프로그래밍할때 정확히 어떤 의미이고, 그냥 '특정 기능을 하기 위해 필요한 도구'정도로 이해하고 지나쳤는데 이번 기회에 조금 더 자세히 알아보자.
event handler를 생각해보면 어떤 특정 event(ex. interrupt)마다 handler가 존재하며, 그 event가 일어나면 해당 handler가 호출되고 handler안에서 event를 처리해주는 진짜 함수를 호출한다.
내가 참고한 블로거분이 찾은 영어로된 설명을 적자면
A handler is a routine/function/method which is specialized in a certain type of data or focused on certain special tasks
ex) Event handler - Receives and disgests events and signals from the surrounding system(ex. OS or GUI)
해석하면 핸들러는 특정 타입의 데이터에 특화되있거나 특정 task에 관한 루틴/함수/메소드라고 한다. 예를 들어 event handler는 이벤트를 받고 이해하고 OS나 GUI에 시그널을 보내는 역할을 한다고 한다.
stackoverflow 답변도 두루뭉술한 감이 있는데 프로그래밍을 하면서 좀 더 감을 잡아야 할 것 같다...
Reference
https://m.blog.naver.com/ycpiglet/222007117749
https://stackoverflow.com/questions/195357/what-is-a-handler
'공부 > 그 외' 카테고리의 다른 글
꼬리 재귀(Tail recursion) (0) | 2021.08.04 |
---|---|
오브젝트 풀(Object Pool) (0) | 2021.07.19 |
Visual Studio "const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. (0) | 2021.07.16 |
메모리 풀(Memory Pool) (0) | 2021.07.14 |
레거시(legacy)란? (0) | 2021.07.08 |