일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Data Structure
- 도커
- Algorithm
- 유니티
- Houdini
- gitlab
- 구조체
- c# 윈폼
- c# winform
- jupyter lab
- dart 언어
- Python
- 다트 언어
- 포인터
- Unity
- docker
- c언어
- C++
- c# 추상 클래스
- vim
- github
- C# delegate
- C언어 포인터
- jupyter
- Flutter
- HTML
- 깃
- c#
- 플러터
- git
Archives
- Today
- Total
목록인터페이스 다중 상속 (1)
nomad-programmer
[Programming/C#] 인터페이스 다중 상속
C#에서 클래스는 여러 클래스를 다중 상속할 수 없다. 이른바 "죽음의 다이아몬드" 라는 문제 때문이다. 죽음의 다이아몬드란, 조부모 클래스를 두 개의 파생 클래스가 상속하고, 이 두 개의 파생 클래스를 다시 하나의 자식 클래스가 상속하는 것을 말한다. 죽음의 다이아몬드 문제의 핵심은 "모호성" 이다. 컴파일은 MyVehicle이 어느 Ride() 메소드를 물려받도록 할까? Car의 Ride()? 아니면 Plane의 Ride()? 죽음의 다이아몬드 문제의 핵심은 모호성이다. 컴파일러 상태에 따라 Car의 Ride()가 물려받을 수도 혹은 Plane의 Ride()가 물려받을 수 있다. 클래스를 다중 상속하면 문제가 하나 더 발생한다. 바로 "업-캐스팅 (Up-Casting)" 문제이다. 다중 상속이 허용된..
Programming/C#
2020. 9. 11. 01:44