MonoBehaviour
와 마찬가지로 UnityEngine.Object
클래스를 상속 받는 클래스.
FakeNull 문제 또한 그대로 가지고 있음.
Unity의 Serialize 시스템을 가지고 있어, MonoBehaviour
보다 경량화된 데이터 컨테이너의 역할을 함.
MonoBehaviour
의 형제와도 같지만 다음과 같은 공통점과 차이점을 가짐.
눈여겨볼 차이점으로는, Callback함수에 Update가 존재하지 않는다는 점, 그리고 씬과 프리팹에 인스턴싱화 되어 존재하는 MonoBehaviour
와 다르게 저장장치에 고유한 파일로 남아있어, Play Mode를 벗어 났을 때에도 변경사항을 유지한다는 점이다.
다음과 같은 Callback 함수를 가짐.
가장 큰 사용목적은 데이터의 경량화에 있음.
만약 게임 오브젝트의 데이터를 MonoBehaviour
에 구현해 둔다면, 그 오브젝트의 수 만큼 데이터를 가지고 있게 될 것.
근데 사실 다 똑같은 데이터이기 때문에 불필요하게 공간을 잡아먹는거나 마찬가지임.