12주차 요약

김서영·2021년 11월 22일
0

상속성(inheritance)

C에서 한번 개발된 라이브러리는 정적인 특성이 있기 때문에 추가 및 수정이 불가능하다.
C++에서는 상속성을 통해 이미 존재하는 클래스로부터 기본적인 특성을 물려받되, 새로운 특성만 추가할 수 있다.
C++에서는 부모 클래스를 기본(Base)클래스, 자식 클래스를 파생(Derive) 클래스라고 한다.
상속 과정을 inherits from이라고 한다.

클래스들의 계층구조

위쪽의 클래스는 속성이 간단하며, 아래 클래스들의 공통적인 속성만을 갖는다.
아래쪽의 클래스는 위쪽 클래스의 속성을 상속받으며, 자신의 개별적인 속성을 추가하여 속성이 많아진다.

기본클래스와 파생클래스 : is-a, is_a, is a 관계

A is a subclass of B

B is a superclass of A

public 상속 접근제어

기본 클래스의 모든 public, protected 멤버들은 파생 클래스의 public, protected 멤버가 된다.
일반적으로 가장 많이 사용하는 상속 접근 제어이다.
기본 클래스의 private 멤버는 어떤 경우에도 자식 클래스에 상속할 수 없다.

private 상속 접근제어

기본 클래스의 모든 멤버가 파생 클래스의 private 멤버가 된다.
기본 클래스의 public 멤버들은 파생클래스의 멤버 함수 이외에는 접근할 수 없다.

protected 접근제어속성

기본 클래스에서 private 멤버 속성을 유지하면서 파생 클래스가 접근할 수 있도록 할 경우에 사용한다.
멤버 변수는 protected, 상속은 public을 많이 사용한다.

상속에서 생성자와 소멸자

기본 클래스 생성자는 파생 클래스 생성자보다 먼저 실행된다.
파생 클래스의 소멸자는 기본 클래스의 소멸자보다 먼저 실행된다.

매개변수가 있는 생성자를 갖는 클래스의 상속

부모 클래스의 생성자가 매개변수를 가지고 있으면 그 매개변수 개수만큼 자식 클래스의 객체를 만들 때 넘겨줘야 한다.


C++프로그래밍(21-2학기)한성현교수 강의 내용 변형 및 요약

0개의 댓글