C++ 프로그래밍 5주차 정리
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++ 프로그래밍 강의 - 한성현 교수님