System.out.println("Hello, World");

GameObject와 Component 관계를 이해하는 것이 매우 중요하다. 일단 간단히 정리하면 GameObject는 Component 객체를 담는 컨테이너(Container)다.

 

GameObject는 Transform 컴포넌트 객체를 한개 포함해야 한다. Transform 객체는 위치 정보, 스케일 정보, 회전 정보를 포함하며, 해당 객체를 활용해서 월드 공간에 객체를 위치할수 있다.

 

컴포넌트 객체 입장에서 게임 객체를 보면 모든 컴포넌트는 Component 파생 클래스다. Component 클래스는 자신이 포함된 게임 오브젝트 객체에 대한 참조를 가지고 있어야 한다. 즉 자신이 소속된 게임 오브젝트가 무엇인지 최소한 알아야 한다. gameObject 속성은 자신이 소속된 게임 오브젝트에 대한 참조값을 가진다.

 

실제 컴포넌트를 사용하는 과정에서 게임 오브젝트가 월드 좌표를 자주 사용된다. 이러한 이유로 Component 객체들은 gameObject 속성과 함께 Tranform 컴포넌트에 대한 참조를 제공한다. 위에서 언급했듯이 모든 게임 오브젝트는 한개의 Transform 객체를 가져야 한다는 내용을 기억해야한다. component 객체는 transform 속성이 바로 Transform 객체에 대한 참조 변수이다.

 

이론적으로 gameObject 속성은 널이 될수 없다. transform 속성은 필수적인 속성이지만 널이 될수도 있다.(이론적으로)

Posted by 김마농