C++

12주차 예습과제

wlsn 2024. 11. 18. 21:36

강의 주제 : 상속(코드 재사용)기본 개념 실습

 

강의 키워드(주요 단어) : 기본클래스와 파생클래스, public, private

 

주요 내용 요약

 

상속 코드 재사용

class A에서 만든 함수를 class B에서 class B : public A로 쓴다면 class public을 가져와 쓸 수 있다.

 

상속성(inheritance)

C++에선 상속성을 제공하여 작업의 중복을 지양하고 프로그램의 개발기간 단축, 기존의 프로그램 재사용, 경비절감 등을 이룰 수 있다.

이미 존재하는 클래스로부터 기본적인 특성을 물려받아 그대로 사용하고 새로운 특성만을 추가로 정의함.

 

클래스의 계층구조

위쪽의 클래스는 일반되어 속성이 간단하며, 아래 클래스들의 공통적인 속성만을 갖는다.

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

 

상속과정

계층적으로 상속을 받게 되면 기존의 클래스를 그대로 사용할 수 있는 장점이 있고 또한 새로운 클래스를 보다 쉽게 만들 수 있다.

 

부모 superclass : 기본(Base) 클래스

                     inherits from ↑(클래스 다이어그램) 상속과정

자식 subclass : 파생(Derived) 클래스

                           A is a subclass of B

                           B is a superclass of A

 

클래스의 상속 형식

class 파생클래스명 : 상속접근제어 기본 클래스명{

 

};

class Dog (파생클래스명) : public Animal(기본클래스명) { //예시

 

};

Animal 클래스로부터 public으로 상속받은 Dog 클래스

 

상속 접근제어 속성에 따른 파생 클래스 멤버의 속성변화

상속접근제어 속성에 따라 기본 클래스 멤버의 속성이 파생 클래스에서 어떻게 변화하는지를 나타낸다.

                               상속접근제어속성 private   protected public

기본클래스의 속성

private                                                상속불가 상속불가 상속불가

protected                                             private protected protected

public                                                  private protected public

 

public 상속 접근제어

public 상속 접근인 경우에는 기본 클래스의 모든 public, protected멤버들은 파생 클래스의 public, protected 멤버가 된다.

기본 클래스의 private 멤버는 private 멤버로 남고, 파생 클래스에 의해서 접근될 수 없고, 일반적으로 가장 많이 사용하는 상속 접근 제어이다.

 

private 상속 접근제어 

private 상속 접근인 경우에는 기본 클래스의 모든 멤버가 파생 클래스의 private 멤버가 된다.

기본 클래스의 public 멤버들은 클래스의 외부 (main함수 등)에서는 접근이 불가능 하고, 오직 파생클래스의 멤버함수에 의해서만 접근할 수 있다.

다른 사람 모르게 자기 자식에게만 비밀리에 상속함

 

감상 평

상속제어접근이라는 키워드를 배워 낯설지만 재미가 있다.

 

강의 이해도

65%

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

13주차 예습과제  (0) 2024.11.26
12주차 강의내용  (0) 2024.11.19
11주차 강의 내용  (0) 2024.11.12
11주차 예습과제  (0) 2024.11.11
10주차 강의 내용  (0) 2024.11.05