Resolved
Written on
·
158
0
안녕하세요! 항상 좋은 강의 제공해주셔서 감사합니다!
강의 4:43 쯤에서 GameObject go나 Manager mg모두 MonoBehaviour를 상속받기 떄문에 new라는 키워드를 통하지 않고 인스턴스화 하는 것으로 이해하고 있습니다.(타임코드는 어떻게 남기는지 몰라 죄송합니다...)
하지만 13:05 쯤에서는 if(go == null) 체크 후 이미 생성되었지만 null인 상태인 go에 new 키워드를 사용한 GameObject를 대입하고 계신 거 같은데요...! 이때 GameObject에 new키워드를 사용할 수 있는 이유가 궁금합니다!
Answer 2
1
GameObject는 MonoBehavior를 상속받지 않습니다.
오히려 GameObject는 MonoBehavior를 상속받는 Component를 조립해서
사용할 수 있는 최종 물체에 가깝습니다.
GameObject.Find()는 인스턴스화를 하는 것이 아니라,
이미 있는 물체 중 해당 이름과 동일한 GameObject가 있는지를 찾는 것입니다.
13:05에서 if (go == null)에 걸렸다면
해당 이름의 GameObject가 Scene에 존재하지 않기 때문에
new GameObject를 통해서 직접 만들어준 것입니다.
0