B2024001225 윤지선

2학기 12주차 예습과제 본문

2024년 2학기/C++ 프로그래밍

2학기 12주차 예습과제

윤지선 2024. 11. 18. 00:11

상속성(inheritance)

- C에서는 이미 기계어로 번역되어 한번 개발된 라이브러리는 정적인 특성을 가지고 있어 새로운 내용을 추가할 수 없으며 새로운 내용을 추가하려면 처음부터 다시 작성해야 함.

- 객체지향언어인  C++ 에서는 상속성을 제공하여 이러한 작업의 중복을 지양하고 프로그램의 개발시간의 단축, 기존의 프로그램의 재사용, 경비절감 등을 이룰 수 있다. 

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

 

클래스들의 계층구조

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

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

 

상속 과정

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

 

 

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

 

 

 

클래스 상속 형식

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

};

 

class Dog: public Animal {

};

Dog: 파생 클래스 명

public: 상속접근제어

Animal: 기본클래스명

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

 

public 상속 접근 제어

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

- 기본 클래스의 private 멤버는 private 멤버로 남고, 파생클래스에 의해서 접근될 수 없다.

- 일반적으로 가장 많이 사용하는 상속 접근 제어이다.

 

'2024년 2학기 > C++ 프로그래밍' 카테고리의 다른 글

2학기 13주차 예습과제  (0) 2024.11.25
2학기 12주차 과제  (0) 2024.11.18
2학기 11주차 과제  (0) 2024.11.11
2학기 11주차 예습과제  (0) 2024.11.11
2학기 10주차 과제  (0) 2024.11.04