virtual은 부모 클래스에서 virtual 키워드를 사용하여 함수를 만들면, 자식 클래스에서 이 함수를 재정의 할 수 있도록 어용하겠다는 의미다.
override는 자식 클래스에서 virtual 함수를 재정의 해준다.
※ override를 써서 함수를 새로 만들었다면, 원래의 기능은 모두 사라진다. (그래서 base라는 키워드를 사용해야 한다.)
부모
protected virtual void Start() { image = GetComponent<Image>(); button = GetComponent<Button>(); SetImage(); }
자식
protected override void Start() { base.Start(); AssignSlotManager(); button.onClick.AddListener(OnClickMainBtn); }
protected override void Start() { base.Start(); AssignSlotManager(); button.onClick.AddListener(OnClickSubBtn); }