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

nrudxo12님의 프로필 이미지
nrudxo12

작성한 질문수

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

Awake()와 Start()에 대해 문득 생각하니 궁금한 게 생겼습니다.

작성

·

237

0

Awake()와 Start()함수 둘 다 초기화 과정으로 오브젝트가 활성화 할 때 딱 한번 씩 호출하는 함수인 걸로 알고 있는데 

그렇다면 왜 초기화 과정에서 Awake와 Start 함수 두 종류가 있는지 왜 Awake를 Start보다 먼저 호출해야 하는지 궁금합니다....

답변 2

0

nrudxo12님의 프로필 이미지
nrudxo12
질문자

답변 감사합니다! 제가 너무 어렵게 생각했었나 보네요. 강의 너무 잘 보고 있습니다. 감사합니다!

 

0

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

Awake를 Start보다 먼저 호출'해야' 하는 것은 아니고,
그냥 유니티의 생명 객체 주기가 그렇게 정해져 있는 것입니다.
일반적으로 객체가 많아지고 사양이 복잡해지면
초기화 순서가 중요해지는 경우가 생기는데, 그럴 때를 대비해서이기도 하고.
또 Awake와 Start 자체의 미묘한 차이가 있기도 합니다.
Awake 같은 경우 Component가 추가되는 순간에 호출되는 반면
Start는 Update 바로 이전에 Scene에 배치되어 동작할 때 호출되는데
당장 와닿지 않으면 넘어가고 언젠가 이런 부분에 막힐 일이 오면 그때 다시 검색해보면 됩니다.

nrudxo12님의 프로필 이미지
nrudxo12

작성한 질문수

질문하기