델리게이트와 이벤트


델리게이트( Delegate )와 이벤트( Event )


델리게이트 ( Delegate )

위임자라고 불리는 델리게이트는 함수를 대신해서 콜해주는 역할을 한다. 클래스가 두 개 있다고 가정했을 때, 서로의 객체를 소유해 함수에 접근하게 될 경우, 커플링 문제가 발생한다.

그렇기에 함수를 콜해야하는 경우, 객체를 소유하는 것이 아닌 델리게이트를 통해 해당 함수를 실행할 것을 전달해준다.

델리게이트는 함수 포인터를 편하게 다루기 위한 객체라고 생각하면 된다. 함수의 주소를 받아 해당 주소로 접근해 함수를 콜하도록 하는 콜백 함수이다.

이벤트 ( Event )

이벤트는 C#에서 사용하는 키워드이다. EventHandler에 등록되어 있는 이벤트를 순차적으로 호출하여 처리한다. 이벤트는 핸들러에 등록하여 사용한 후, 해제를 잘 해주지 않으면 메모리 릭이 발생할 수 있다.