인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김지수님의 프로필 이미지
김지수

작성한 질문수

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

UI 자동화 #4

Util Class의 GetOrAddComponent<T>(GameObject go) 함수에서...

해결된 질문

작성

·

371

1

항상 좋은 강의와 빠른 답변 감사드립니다! 

제가 Util Class의 GetOrAddComponent<T>(GameObject go) 함수에서  where T : UnityEngine.Component 작성하시는 부분에서요!(5:07)

GetComponent<T> 함수는 오류가 안뜨지만 AddComponent<T> 함수는 오류가 뜨길래 F12로 확인해봤더니 GetComponent는 Object클래스에 정의되어 있지만 AddComponent는 GameObject 클래스에 정의되어 있는것 까지는 확인을 하였습니다..

하지만 왜 T를 부모클래스인 Object로 한정하면 안되고Component로만 한정해야 AddComponent를 쓸 수 있는건지는 와 닿지가 않아 질문드립니다.. 설명 부탁드립니다...!🙏

답변 2

1

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

답은 간단한데 AddComponent이 그렇게 만들어져 있기 때문입니다 (?)

유니티에서 만든 AddComponent를 살펴보면 
역시나 where T : Component 조건이 붙어 있는 것을 알 수 있습니다.

0

김지수님의 프로필 이미지
김지수
질문자

ㅋㅋㅋ 그렇군요 복잡하게 생각했네요!! 감사합니다!!

김지수님의 프로필 이미지
김지수

작성한 질문수

질문하기