이미 만들어진 클래스에 새로운 코드와 기능을 덧붙여 새로운 클래스를 만드는 방법
부모 클래스: 기초를 제공하는 클래스 -> 자식 클래스: 부모 클래스를 상속해 확장한 클래스
상속을 이용해 모든 코드를 하나하나 구현할 것이 아니라 공통된 클래스를 만들어두고 그를 받아 확장하는 방법을 이용할 수 있다.
코드 재사용이 어려워지는 케이스도 있다.
미리 만들어진 부품을 조립해 완성된 오브젝트를 만드는 방법.컴포지션 패턴이라고도 함.
컴포넌트 : 미리 만들어진 부품
유니티는 게임 오브젝트를 컴포넌트 패턴을 사용해 만든다.
유니티에서 미리 만들어 제공하는 클래스. 컴포넌트에 필요한 기본 기능 제공. 이를 상속한 클래스는 게임 오브젝트에 컴포넌트로서 추가될 수 있음
유니티의 모든 컴포넌트는 MonoBehaviour 클래스를 상속받음. 이를 상속받은 컴포넌트는 유니티의 제어를 받기 때문에 유니티의 메시지를 들을 수 있게 된다.
컴포넌트는 서로에 대해 모른다. 유니티 엔진도 어떤 게임 오브젝트에 어떤 컴포넌트가 추가되었는지 관심없다.
유니티는 컴포넌트의 어떤 기능을 실행시키고 싶을 때 메시지를 날리는 방식을 사용한다.
모든 오브젝트가 메시지를 수신하고, 본인이 가지고 있는 기능이라면 실행하고 그렇지 않다면 무시한다
이러한 특성으로 컴포넌트의 독립성이 유지된다. 이렇게 메시지를 무차별적으로 여러 오브젝트에 동시에 뿌리는 방법을 브로드캐스팅이라고 한다.
유니티 메시지에 의해 자동으로 실행되는 메서드. 유니티 이벤트 함수 또는 유니티 이벤트 메서드라고 함