본문 바로가기
dev, tech/Windows P

델리게이트(Delegate) : 위임

by 구띵 2006. 1. 17.

System.Delegate

 

델리게이트(위임 : Delegate)

 

'메소드 참조' 라고 할 수 있다.

: 메소드를 정의해서 이름으로 호출하는 것이 아니라, 메소드가 있는 참조 값을 가지고 있다가 필요할 때 호출 ( C#에서는 함수 포인터를 숨기고 델리게이트를 이용 )

 

이유 ) 이벤트가 발생이 되면 특정된 메소드를 호출해서 처리하기 위해 참조 값을 가짐

         이벤트는 여러 개의 델리게이트 개체로 한 번에 여러 메소드를 호출할 수 있다.

 

 

델리게이트는 크게 세 부분으로 나눠서 생각해 볼 수 있다.

 

- 델리게이트 선언

- 델리게이트 인스턴스 생성

- 델리게이트 인스턴스 호출

 

선언 형식 )접근지정자 delegate 반환형 델리게이트-이름(인수 리스트);

                

: 접근지정자(private, protected)는 클래스 멤버가 아닐 경우 무의미

 

: 반환형 : 참조 값으로 저장될, 앞으로 호출이 될 메소드의 반환형과 같게 해야 함

 

델리 게이트 인스턴스 생성)델리게이트이름 인스턴스이름 = new 델리게이트 이름(호출될 메소드 이름);

 

:호출될 메소드 이름에는 세 가지 형태의 다른 메소드가 올 수 있다.

  . 정적 메소드

  . 클래스 인스턴스의 멤버 메소드

  . 같은 형의 다른 델리게이트 인스턴스

 

'dev, tech > Windows P' 카테고리의 다른 글

일단 용어 정리  (0) 2006.01.19
이벤트(event)  (0) 2006.01.18
GetEnumerator  (0) 2006.01.17
메소드를 위한 상속성 키워드  (0) 2006.01.16
연산자 오버로딩  (0) 2006.01.16

댓글