유니티에서 하나의 스크립트는 그 자체로 하나의 클래스를 뜻한다.

클래스란 속성(Properties), 메서드(Method)들을 하나의 객체로 묶은 데이터 타입이다.

모든 스크립트는 Behaviour Component이다.

Behaviour는 활성화 (Enable), 비활성화 (Disable) 할 수 있는 Component이다.

여기서 Component는 유니티 엔진내에 GameObject에 부착되는 모든 것들이 상속받는 기반 클래스

그중에서도 Monobehaviour는 Unity 내에 모든 스크립트가 상속받는 클래스이다.

이 클래스를 상속받아서 유니티 엔진 생명주기에 따라 프로그래머는 게임로직을 작성하게 된다.

그리고 이 클래스를 상속받으므로써 Awake, Start, Update 등 유니티 엔진 생명주기에 해당하는 함수를 사용 할 수 있다. 그리고 Monobehavior를 상속받는 클래스 스크립트들은 GameObject 부착되어야 하며, new로 할당할 수 없다.

Untitled

Monobehavior의 함수가 호출되는 시기들을 정리 한 스크린샷

Untitled

Reset : 유니티 에디터에서 오브젝트 생성후 인스펙터 뷰에서 리셋을 눌러줄 때 호출되는 메서드

(에디터에서만 사용가능하며, 객체의 속성을 초기 값으로 설정해 줄 때 사용한다.)

Awake : Prefab이 인스턴스화 된 직후, 스크립트가 호출되자 마자 “활성화 여부와 상관없이” 실행 된다. 모든 오브젝트가 초기화 된 후 호출되기 때문에 GameObject.Find같은 명령문을 안전하게 사용할 수 있는 시점에 호출된다.