Priv's Blog
상속의 타입 본문
1. C++의 상속
C++는 OOP 언어의 핵심 중 하나인 '상속' 기능을 지원합니다.
C++은 다중 상속을 지원하며, 상속 시 접근 제한자를 이용해 여러 타입의 상속을 구현하는 것도 가능합니다.
class Mother {
public:
Mother() {
};
void sayHi() {
cout << "Hi" << endl;
}
void sayName(string name) {
cout << "I'm a " << name << "." << endl;
}
};
class Daughter : public Mother {
public:
Daughter() {
};
};
가장 기본적인 형태는 위와 같이 public 접근 제한자를 이용하는 방식으로, Daughter 클래스는 Mother 클래스의 sayHi( ) 메서드, sayName( ) 메서드를 사용할 수 있습니다.
2. 상속 타입
C++에서 상속 기능을 사용할 때 적용 가능한 접근 제한자는 public, private, protected입니다.
- public
is-a 관계를 구현할 수 있습니다.
부모 클래스의 public 멤버는 자식 클래스에서도 접근 가능합니다.
부모 클래스에서 protected 접근 제한자로 선언된 멤버도 자식 클래스에서 접근이 가능합니다.
단, 부모 클래스의 private 멤버는 자식 클래스에서 접근할 수 없습니다.
- private
부모 클래스의 public, protected 멤버가 자식 클래스에서는 private 멤버로 취급됩니다.
- protected
부모 클래스의 public, protected 멤버가 자식 클래스에서는 protected 멤버로 취급됩니다.
이 중에서 가장 일반적인 형태가 public입니다.
C++는 다중 상속을 지원하기 때문에 다른 접근 제한자를 사용해 상속 타입을 제한하면 '다이아몬드 문제'를 비롯해 예상치 못한 오류가 발생할 수 있어 주의해야 합니다.
수고하셨습니다!
'Dev. Study Note > C++' 카테고리의 다른 글
포인터와 배열, 포인터 산술 (0) | 2024.05.18 |
---|---|
포인터 기초 개념과 new 키워드 (0) | 2024.05.13 |
2D Array Row, Column (0) | 2024.01.23 |
friend 키워드 (0) | 2024.01.10 |
클래스 (0) | 2023.12.27 |
Comments