C++/C++

[C++] 클래스 상속 / 접근지정자

메카인 2023. 2. 3. 21:58

◆상속

어떤 상위 개념을 가지고 추가적인 하위 개념을 만드는 것

상속하는 클래스를 부모 클래스

상속받는 클래스를 자식 클래스

 

◆상속방법

class car{};

class bus : public car{
	...
};

상속 받을 클래스의 오른쪽에 콜론 public 과 함께 부모클래스명을 작성한다.

 

◆멤버변수와 멤버함수

자식클래스는 부모클래스의 상속받은 모든 멤버변수와 멤버 함수를 사용할수 있으며 public일 경우 외부에서 활용도 가능하다.

 

◆생성자의 실행 순서

자식 클래스의 생성자를 호출하게 되면 자식클래스는 기본적으로 부모 클래스의 '기본 생성자'를 생성하게 된다.

부모클래스의 생성자가 호출된 이후 자식 클래스의 생성자가 호출된다.

 

◆파라미터가 있는 생성자

파라미터가 있는 생성자를 지정해주게 되면

자식클래스에서는 부모클래스의 생성자를 호출해줘야 한다.

부모클래스의 생성자를 실행하려면 파라미터가 있어야 하기 때문이다.

 

◆다형성(Polymorphism)

클래스 인스턴스를 다형성을 통해 하나의 부모 클래스로 관리할 수 있다.

이는 객체 관리에 굉장히 유용한 관점을 제공해준다.

 

◆접근 지정자(public, protected, private)

public 

:클래스 내외부에서 자유롭게 접근 가능

protected

:상속된 클래스 안에서만 자유롭게 접근 가능

private

:클래스 자신에게서만 자유롭게 접근 가능

 

 

※후기

생성자의 실행 순서는 다른 언어를 배울 때에도 알지 못했던 지식이라 신기함을 느꼈다.