본문 바로가기
{Programing}/C.C++

c/c++ 상속(2)

by 탱타로케이 2020. 1. 21.

다중 상속

말그대로 상속을 여러번 받는것을 의미한다.

 

여러 단계의 상속이 아니고, 한번에 여러 슈퍼 클래스에서 동시 상속 받는 것을 의미한다.

 

장점보다 단점이 더 명확해서 자주 쓰이지 않음.

 

장점 : 여러 슈퍼클래스를 동시에 사용할수 있다.

 

단점 : 슈퍼클래스 사이의 중복된 이름의 멤버 변수나 함수가 있는 문제,

슈퍼클래스를 이중 상속받는 문제

가상클래스가 아닌 슈퍼클래스를 상속받을 경우,  슈퍼클래스가 어떤것인지 특정 되지 않기때문에

슈퍼클래스의 포인터로 파생클래스를 가리킬수 없게 됨.

 

다형성

멤버 함수 오버로딩, 생성자 오버로딩, 연산자 오버로딩, 가상함수를 이용한 함수 오버라이딩을 이용해

 

"같은 요청에 대해 다른 응답을 줄수 있게 하는 것" 이라고 할 수 있다.

 

가령 Sum 이라는 더하기 함수에 대해 인자값이나 인자 수 에 따라 함수의 기능을 여러개로 만들어 대응하거나,

생성자의 인자값이나 수를 다르게해 여러 방법으로 생성할 수 있게 하거나,

필요한 연산에 대해 클래스 별로 다른 결과를 내놓거나,

가상 함수를 이용해, 같은 슈퍼클래스를 상속받은 서브 클래스 별로 다른 결과값을 내놓게 만드는 것을 의미한다.

 

 

'{Programing} > C.C++' 카테고리의 다른 글

c/c++ 예외처리  (0) 2020.01.21
c/c++ virtual, interface, abstract class  (0) 2020.01.21
c/c++ 상속(1)  (0) 2020.01.21
c/c++ 파일 입출력  (0) 2020.01.17
c/c++ 문자열  (0) 2020.01.14

댓글