Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
[Unity] 유니티에서의 다중 상속과 다이아몬드 문제
다중 상속의 다이아몬드 문제 유니티에서 생성하는 스크립트들은 기본적으로 MonoBehaviour를 상속하고 있기 때문에 다른 클래스를 상속할 수가 없다. 이는 다이아모드 문제로 인해, C#이 다중 상속을 지원하지 않기 때문이다. 다이아몬드 문제란 다중 상속 시 오버라이딩한 메서드의 호출 모호함에서 발생한다. 예를 들어 C#에서 다음과 같이 다중 상속을 진행했다고 생각해보자. Child 클래스는 ParentA와 B를 다중 상속하고 있다. 이때 상위의 Work() 메서드를 호출하는 base.Work()를 호출하면 ParentA의 Work()가 실행돼야 할까? 아니면 ParentB의 Work()가 실행되어야 할까? 이처럼 호출의 모호함에서 발생하는 문제는 상속 형태가 다이아몬드를 닮아 다이아몬드 문제라고 부른..
개발/Unity
2022. 1. 5. 15:10