본문 바로가기
C++

상속을 하는 이유

by 상레알 2009. 1. 16.
여기에 적는것이 전부는 아니지만.....그래도 ㅋㅋ

예를들어 자동차,열차,선박,항공기,우주선 클래스를 정의한다고 가정해보자 이들의 공통점은 운반의 수단이 된다는것이다. 클래스는 정의하는 목적에 따라서 정의되는 형태가 아주 다양하다.

자 ~ 그럼 여기에서 항공기와 열차를 각 각 클래스 별로 정의해보쟈..

항공기는 탑승인원 수하물의 무게 승무원 인원이 멤버 변수로 필요할것이고 탑승하는함수,짐싣는함수,승무원 탑승 등의 멤버 함수가 필요할것이다.

그렇다면 열차를 정의해보면 탑승인원 ,수화물의 무게 ,열차의 칸수,가 멤버변수로 필요할것이다.그리고 탑승하는 함수,짐을 싣는 함수 열차의 칸수 설정하는함수등의 멤버 함수가 필요할것이다

이 두개 의 클래스 구성을 중복되는 부분이 많다는것을 느끼게될것이다. 이것을 상속을 사용한다면 일일이 하는것보다
쉽게 클래스를 정의 할수 있게 될것이다.=

위에 정의하자고 했던 것들의 공통점탈것 이라는 것이다.그렇기떄문에 탑승인원이있어야 하고 수하물이 있을 수 있다. 이 클래스를 모두 독립적으로 정의하게 되면 중복되는  멤버함수와 멤버 변수가 존재할수 밖에 없다. 여기서
상속의 근거를 찾을수 있다. 이 클래스들의 공통되는 부분을 Base클래스로 추상화하고, 이를 상속하면서 각각의 특징을 드러낼 수 있도록 Derived 클래스를 정의할수 있다.
상속을 적절히 정의하면 새로운 클래스를 정의하는것이 상당히 수월해진다.

'C++' 카테고리의 다른 글

Static Binding & Dynamic Binding  (0) 2009.02.03
상속된 객체와 참조의 관계  (0) 2009.02.03
상속된 객체와 포인터의 관계  (0) 2009.02.03
상속의 조건  (0) 2009.01.19
클래스...  (0) 2009.01.16
protected 멤버  (0) 2009.01.15
상속!!  (0) 2009.01.15
explicit &&&& mutable  (0) 2009.01.15
클래스와 Static  (0) 2009.01.15
클래스와 const  (0) 2009.01.14