• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

21.09.26 00:06 작성 조회수 157

0

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

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

답변 2

·

답변을 작성해보세요.

0

nrudxo12님의 프로필

nrudxo12

질문자

2021.09.26

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

 

0

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