코딩 공부/패스트캠퍼스 게임 개발 올인원

패스트캠퍼스 챌린지 32일차

잘자라는스투키 2022. 2. 24. 23:00
반응형

[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;

 

 

 

 

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#C#과유니티로배우는게임개발올인원패키지Online.

 
반응형