오브젝트가 메모리에 할당 될 때 1회 실행된다.
라이프 사이클 중에서 가장 먼저 호출된다.
현재 오브젝트가 비활성화 상태에서 활성화 상태가 될 때 1번 실행된다.
Update가 실행되기 전에 1번 실행된다.
Start가 실행된 후 매 프레임마다 1번씩 실행된다.
일정 시간간격마다 실행된다.
Update()가 종료된 후에 프레임당 한번 실행된다.
현재 오브젝트가 활성화된 상태에서 비활성화 상태가 될 때 1번 실행된다.
오브젝트가 없어질 때 한번 실행된다.
start는 시작할 때 단 한번 실행되지만, Enable은 오브젝트가 생성될 때 마다 다시 실행된다.
FixedUpdate는 고정된 시간 간격을 가지고 실행되지만, Update는 매 프레임마다 실행된다.
그렇기 때문에 Update는 키 입력이나 화면갱신 같은 프레임단위로 입력받거나 바꾸어 주어야하는 곳에 좋다.
FixedUpdate는 물리적 연산이 필요한 작업에 좋다고 한다.
두 개 이상의 프로세스가 공통 자원을 사용할 때, 접근 순서에 따라 다른 결과가 발생하는 현상을 말한다.
매번 컴포넌트나 오브젝트를 새로 만들 수 없기 때문에 미리 만들어 두어서 연산량을 줄이는 것이다.
private void Awake()
{
Debug.Log("awake");
//캐싱
rb = GetComponent<Rigidbody2D>();
col = GetComponent<Collider2D>();
}
미리 해당 컴포넌트를 Awake()에 생성하는 방법이 있다.