반응형
[C# 프로그래밍 : 클래스 개념 꽉잡기 - 델리게이트와 이벤트]


1. 델리게이트(delegate)
- 대리자(메소드 참조형). 대신해서 뭔가를 해준다. 메소드 직접 호출하지 않고 델리게이트를 이용해 지정 메소드 대신 호출함.
- 메소드의 틀을 만들어 소통. 메소드가 가지는 형태, 리턴형, 파라미터를 맞춰서 동일한 형태로 대신해서 처리할 할수있도록 틀을 만듬. 메소드 직접 호출하지 않고 델리게이트를 이용해 지정 메소드 대신 호출함.
- 클래스간 통신에 활용->A클래스가 B클래스가 가진 메소드 호출할때 대신 호출 할 수 있게끔 대리자를 만든다.
- delegate 리턴형 식별자(파라미터); -> delegate int DelegateFunc(int a);
- DelegateFunc delegateFunc = Add; delegatefunc이름으로 add로 초기화하면 add를 대신해서 일을 할 수 있음
- 델리게이트 선언 방법
- deleate void DelegateTest(int a, int b); ->int a, int b를 사용하는 DelegateTest상자가 만들어짐
- 기본 선언 : DelegateTest dt = new DelegateTest(Sum);
- 간략한 선언 :DelegateTest dt = Sum;
- 익명함수 선언 : DelegateTest dt = delegate(inta, int b){...} -> 사용할 함수 미리 선언하지않고 여기서 선언 . 많이 사용되는 방식.
- 람다식 선언 : DelegateTest dt = (a,b) =>{...}
- 델리게이트 활용
- 함수 파라미터 활용이 일반적인 사용
- delegate void delegateFunc();
- public void Message(string msg, delegateFunc okFunc, delegateFunc cancelFunc) { ...}
- msg.Message("Test Message", delegate () { .... }, callCancel);
2. 이벤트
- delegate랑 비슷하지만 안정성이 높음
- 할당연산자(=) 사용 불가
- 클래스 외부 호출 불가
- 클래스 멤버 필드에서 사용
- delegate가 있어야함
- public delegate void delegateEvent(string msg);
- public event delegateEvent myEvent;
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기
#C#과유니티로배우는게임개발올인원패키지Online.
반응형
'코딩 공부 > 패스트캠퍼스 게임 개발 올인원' 카테고리의 다른 글
패스트캠퍼스 챌린지 34일차 (0) | 2022.02.26 |
---|---|
패스트캠퍼스 챌린지 33일차 (0) | 2022.02.25 |
패스트캠퍼스 챌린지 31일차 (0) | 2022.02.23 |
패스트캠퍼스 챌린지 30일차 (0) | 2022.02.22 |
패스트캠퍼스 챌린지 29일차 (0) | 2022.02.21 |