MonoBehaviour.
유니티 공식문서에서도 중요 클래스 카테고리에 들어 있을만큼 반드시 알아야할 클래스이다.
MonoBehaviour가 하는 일은 뭘까?

MonoBehaviour를 한문장으로 표현하자만 다음과 같다.
게임 오브젝트에 부착되어 행동을 정의하고 스크립트를 통해 다양한 기능을 구현할 수 있도록 하는 기본 클래스.
MonoBehaviour의 역할을 나누자면 크게 2가지가 있다.
- 컴포넌트: MonoBehaviour를 상속받는 클래스는 게임 오브젝트에 컴포넌트로 추가되어 다양한 기능과 동작을 구현할 수 있다.
- 라이프 사이클 관리: MonoBehaviour는 Unity의 라이프사이클 이벤트 함수들을 통해 게임 오브젝트의 상태와 행동을 관리할 수 있다.
MonoBehaviour를 상속받는 클래스는 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행된다. 이벤트 함수들의 순서는 다음과 같다.

Awake
스크립트가 실행될 때 1번만 호출된다.
생성자처럼 게임의 상태 또는 변수 초기화로 사용한다.
오브젝트가 활성화 되어 있지 않아도 실행된다.
코루틴으로 실행할 수 없다.
OnEnable
오브젝트 또는 스크립트가 활성화될 때마다 호출된다.
이벤트 연결 시 사용한다.
코루틴으로 실행할 수 없다.
Start
스크립트가 활성화될 때 1번만 호출된다.
오브젝트 또는 스크립트가 비활성화일 경우 호출되지 않는다.
코루틴으로 실행할 수 있다.
Update
매 프레임마다 호출되는 함수로 디바이스 성능이나 최적화 상황에 함수 호출 시간이 매번 달라진다.
스크립트가 활성화되어 있어야 호출된다.
FixedUpdate
매 매서드 호출 간격이 다른 Update와 달리 FixedUpdate는 함수 호출 간격이 일정하도록 도장된다.
매번 일정한 주기로 똑같은 연산을 처리해야 하는 물리 계산 및 업데이트 처리에 주로 사용되는 함수.
LastUpdate
모든 Update 함수가 호출된 후 호출된다.
스크립트가 활성화되어 있어야 호출된다.
카메라 관련 로직에 주로 사용한다. 보통 Update에서 이루어지는 오브젝트들의 움직임이 끝난 후에 움직여야 하기 때문.
OnTriggerXXX
두 오브젝트의 충돌 체크를 하는 함수이다.
물리 연산을 하지 않고 통과한다.
OnCollisionXXX
두 오브젝트의 충돌 체크를 하는 함수이다.
물리 영향을 받으며 Rigidbody가 존재해야 한다.
OnDisable
오브젝트 또는 스크립트가 비활성화될 때마다 호출된다.
이벤트 연결 종료 시 사용한다.
코루틴으로 실행할 수 없다.
OnDestroy
오브젝트 생존 기간의 마지막 프레임이 업데이트된 후 실행된다.

참고자료(유니티 공식 문서)
유니티 라이프 사이클
MonoBehaviour