728x90
반응형
1. 상속
#include <iosteram>
#include <string>
class Professor {
std::string name;
int age;
int major;
};
class Student {
std::string name;
int age;
int id;
};
int main() {
}
위의 코드에서 멤버 데이터인 name과 age가 중복되는것을 볼 수 있다.
① Student와 Professor의 공통의 특징을 모아서 Person 클래스를 설계한다.
#include <iosteram>
#include <string>
class Person {
std::string name;
int age;
};
class Professor : public Person {
int major;
};
class Student : public Person {
int id;
};
int main() {
}
② Student와 Professor를 만들 때 Person으로 부터 상속을 받는다.
③ 한 클래스가 다른 클래스에서 정의된 속성들(데이터, 함수)를 이어 받아서 사용하는 것
④ 이미 정의된 클래스를 기반으로 새로운 클래스 설계
⑤ S/W의 재사용성 지원
2. 상속 문법의 장점
① 코드의 중복을 막을 수 있다.
② 상속을 통해서 기존 클래스에 새로운 특징을 추가한 새로운 타입의 설계
③ 다형성(polymorphism)을 활용한 객체지향 디자인 기법
3. UML 표기법과 용어
① 상속을 그림으로 표기하는 방법
② 위의 상황에서 Person을 Base / Super / 기반 클래스라 부르며
Student를 Derived / Sub / 파생 클래스라 부른다.
4. 객체지향 언어별 상속 문법 표기법
728x90
반응형
'프로그래밍 > C++' 카테고리의 다른 글
[C++] 상속에서의 생성자 소멸자 (0) | 2019.11.26 |
---|---|
[C++] 상속과 접근 지정자 (access specifiers) (1) | 2019.11.25 |
[C++] this 포인터 (0) | 2019.11.24 |
[C++] const member function (0) | 2019.11.17 |
[C++] static member function (0) | 2019.11.17 |