C++

C++ 프로그래밍 5주차 정리

mJay8194 2022. 11. 9. 09:11

1. 구조적 프로그래밍(structured programming)

- 각각의 기능을 함수로 구현하는 방식

- Pascal, C에서 사용

- 처리동작에 중점을 두어 프로그램을 작성

- 자료와 처리동작을 구분하여 둘 사이의 관계가 연관성을 갖지 못함

- 복잡한 프로그램에서의 디버깅 및 유지보수가 힘듬

 

2. C++의 특징

- 이름의 유래: C++ = C+1(C+class), 즉 클래스를 갖는 C언어를 의미

- C언어의 문법을 모두 포함하나 프로그래밍 스타일은 전혀 다름

- 객체 지향 프로그래밍

 

3. 객체 지향 프로그래밍

- 구조적 프로그래밍 기법을 계승하여 발전

- 자료와 처리동작을 분리하지 않고 하나로 묶어 다루는 객체(object) 개념 도입

- 소프트웨어의 확장(extensibility) 및 재사용(reusablility) 기회 증가

- 중심기술

(1)캡슐화(encapsulation)

(2)상속성(inheritance)

(3)다형성(polymorphism)

 

4. 상속

- 파생 클래스는 기본 클래스의 정의 속성(자료 및 연산)을 상속받음

- 프로그램의 개발 비용과 복잡도 감소

- 자료형의 계층화 가능

 

5. 다형성과 중첩(overloading)

- 유사한 기능을 하나의 이름(인터페이스)로 복잡도를 감소시킴

 

4. 클래스 멤버의 접근 권한(access modifier)

- 클래스 외부에서 멤버에 접근할 수 있는 권한을 의미하며, 멤버 선언 전 지정

- 속성의 종류

(1)private: 해당 클래스 내부에만 접근 가능하며, 디폴트 속성임

(2)public: 어디에서나 접근 가능

(3)protected: 자식 클래스만 접근 가능

 

5. 클래스 다이어그램의 구조

클래스 이름
멤버 변수
멤버 함수

 

 

출처 : https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA/playlists, C++ 프로그래밍 강의 - 한성현 교수님