강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Hyobin Kim님의 프로필 이미지
Hyobin Kim

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

코드 정리

extension함수로 교체할 때

해결된 질문

작성

·

230

0

영상의 2분 경에 GetOrAddComponent()를 extension method로 추가하고 

UI_Inven에서 item. GetOrAddComponent<UI_Inven_ Item>()

이렇게 호출 하잖아요?

함수 정의에서는 인자로 GameObject가 들어가있는데 이건 item이라는 GameObject인스턴스를 통해서, 그리고 함수의 적용 대상이 item이라서 인자를 안넣어도 되는 건가요?

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

Extension Method는 아주 특이한 문법인데
우리가 직접 만들지 않은 클래스를 대상으로,
강제로 함수 하나를 추가할 수 있습니다.

FunctionName(this GameObject)로 설정한 부분에서
this가 붙으면 해당 부분은 [인자로 받는다]가 아닌
[GameObject 클래스에 이 함수를 확장해서 정의하겠다]에 가깝습니다.

Hyobin Kim님의 프로필 이미지
Hyobin Kim

작성한 질문수

질문하기