다중상속 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
54번째 줄: 54번째 줄:
 
===다이아몬드 문제===
 
===다이아몬드 문제===
  
[[파일:다중상속문제.PNG | 500픽셀]]
+
[[파일:다중상속문제.PNG]]
  
 
위의 클래스 다이어그램과 같은 [[상속 (프로그래밍)|상속]] 구조에서 발생되는 문제가 다이아몬드 문제이다. Grand라는 클래스에서 example이라는 [[메소드]]를 가질 때 상속을 받은 ParentsA와 ParentsB에서는 example이라는 메소드를 [[오버라이딩]]한다. 이 때 son에서 example이라는 메소드를 불러올 때 어떤 부모의 메소드를 불러와야 하는지 모호해져서 충돌이 생기게 된다. 이를 다이아몬드 문제라고 하는데 [[자바]]에서는 이러한 문제를 사전에 방지하기 위해서 다중 상속을 지원하지 않는다.
 
위의 클래스 다이어그램과 같은 [[상속 (프로그래밍)|상속]] 구조에서 발생되는 문제가 다이아몬드 문제이다. Grand라는 클래스에서 example이라는 [[메소드]]를 가질 때 상속을 받은 ParentsA와 ParentsB에서는 example이라는 메소드를 [[오버라이딩]]한다. 이 때 son에서 example이라는 메소드를 불러올 때 어떤 부모의 메소드를 불러와야 하는지 모호해져서 충돌이 생기게 된다. 이를 다이아몬드 문제라고 하는데 [[자바]]에서는 이러한 문제를 사전에 방지하기 위해서 다중 상속을 지원하지 않는다.

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)