반응형
한국은행에서 제공하는 필기시험 기출문제는 해설이 제공되지 않습니다. 이 글에서 제시하는 풀이는 제 풀이일 뿐, 정답이 아닐 수 있습니다. 틀린 부분이나 부족한 부분이 있을 시, 댓글로 남겨주세요. 감사합니다. |
객체지향 언어의 큰 특징 중 하나인 상속.
상속 하면 그려러니.. 하겠는데 다중 상속에 관한 문제점을 알아볼 수 있었던 문제였다.
문제
객체지향 언어 중 JAVA는 다중 상속이 불가하고 C++은 다중 상속이 가능하다.
상속(inheritance)에 있어서 단일 상속(single inheritance)과 다중 상속(multiple inhteritance)의 차이를 설명하고 다중 상속이 가지는 문제점을 서술하시오.
풀이
단일 상속은 하나의 조상 클래스만을 가지기 때문에 클래스의 관계가 다중 상속보다 명확하다.
다중 상속은 여러 클래스로부터 상속받을 수 있으므로 복합적인 기능을 가진 클래스를 쉽게 작성할 수 있다.
다중 상속 시 상속받은 여러 클래스의 멤버 변수나 멤버 함수의 이름이 같아지는 문제가 발생할 수 있다.
이 경우, 참조하려는 변수나 호출하려는 함수가 어떤 클래스의 멤버인지 알 수 없는 문제가 발생한다.
또한, 하나의 클래스를 간접적으로 두 번 이상 상속받는 다이아몬드 문제가 발생할 수 있다.
반응형
'잡다한 지식 > CS 베이스' 카테고리의 다른 글
[한국은행 전산학 기출][2010] DB SQL (0) | 2022.06.20 |
---|---|
[한국은행 전산학 기출][2019] 객체지향 언어의 특징 (0) | 2021.05.09 |
[한국은행 전산학 기출][2010] fork를 이용한 프로세스 생성 과정 (1) | 2021.04.23 |
[한국은행 전산학 기출][2010] 허프만 트리를 이용한 문자열 압축 (4) | 2021.04.23 |
[프로그래밍언어론] 오버로딩(overloading)과 오버라이딩(overriding)의 차이점 (0) | 2021.03.26 |