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

InJ님의 프로필 이미지
InJ

작성한 질문수

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

인벤토리 실습 #2

base.Init() 질문이 있습니다.

작성

·

284

0

정말 좋은 강의 감사합니다.

unity 강좌를 2번째 보면서 코드를 하나하나 보고 있습니다.

상속성에 대해서 이해가 안가서 질문 드립니다.

UI_Inven에 Init() -> base.Init()을 들어가면 

 부모 UI_Scene에 들어가서

Managers.UI.SetCanvas(gameObject, false); 를 해주는데

gameObject가 왜 UI_Inven이 들어가는지 잘 모르겠습니다.

원래 자식클래스에서 초기화를 하면 부모 클래스의 gameobject가 자식 스크립트(UI_Inven)를 받는 건가요?

답변 1

0

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

유니티에서 GameObject는 소위 [빈 깡통]이고
Component라는 부품을 줍줍해서 만들어나가는 개념인데요.
대표적인 부품으로 Transform이 있습니다.

어떤 Component이건, 자기가 소속되어 있는 GameObject는 매우 중요한 개념이겠죠!
따라서 Component 클래스에서 [내가 붙어 있는 GameObject]를
'gameObject'을 이용해 빠르게 접근 가능합니다.
마찬가지로 자주 사용하는 transform은
[내가 붙어있는 GameObject의 Transform Component]을 의미하구요.

MonoBehavior 또한 Component를 상속 받았고
UI_Base가 MonoBehavior를 상속 받았으니 gameObject를 사용할 수 있는 것입니다.

InJ님의 프로필 이미지
InJ

작성한 질문수

질문하기