inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

Lambda (람다식)

Action 관련하여..

해결된 질문

329

김지수

작성한 질문수 15

0

안녕하세요!! 바쁘신 와중에 빠른 답변 항상 감사드립니다.

 사실 Part3. 강의의 InputManager에 대한 이해도를 높히고자 다시 이 부분으로 돌아왔는데요!

이 강의에서는 Action은 단지 인자와 반환형식이 모두 없는 Delegate라고 설명해 주시는데

실제 InputManager에서 Action을 사용하실때는

public Delegate void Action();은 이미 System상 선언되어있으니 생략하더라도

public Event Action KeyAction = null;

라는 Event 선언 없이 바로

 Action OnMouseClicked = null;

로 Event를 만든 후 여기에 구독 신청을 하더라구요!!

이건 어떻게 가능한 건가요???

System상 이미 public Event Action까지 선언되어 있는 건가요??

C#

답변 4

3

Rookiss

아 그렇군요.
설명을 살짝 헷갈리게 한 것 같네요.
이벤트 방식이라는게 event 문법을 의미한게 아니라
콜백 방식을 의미한 것이었습니다.

delegate나 event 모두 동일하게 Observer 구현을 할 수 있습니다.

1

Rookiss

System상 이미 public Event Action까지 선언되어 있는 건가요??

-> 그렇지는 않고,
event를 붙이지 않고 Action만 사용하게 되면
event가 아닌 기본 delegate 문법을 사용하는 것입니다.
사실 event랑 delegate랑 거의 비슷한데
event가 조금 더 안전성을 강화한 버전이라고 보시면 되겠습니다.

0

김지수

확실히 이해되었습니다!!

감사합니다!!

0

김지수

아 그렇군요!!

사실 이 질문을 드린 이유는 Action delegate만으로 짜인 코드를 설명해주실 때 '이벤트를 발생시킨다' 라던지 '이벤트 방식의~'라는 설명을 자주 사용하셔서 개인적으로 혼란이 와서입니다ㅠㅠ

그렇다면 사실상 Event문법을 사용하진 않았고 Action delegate 만 사용한 Observe 패턴의 이벤트 방식인가요...??

Generic에 대한 질문 있습니다.

0

96

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

227

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

282

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

394

1