본 교재는 교육부선정 디지털 혁신공유대학사업(미래자동차분야)으로 진행된 객체지향프로그램 교과목의 표준 수업계획서에 의거 저술되었다. 표준 수업계획서는 수도권과 지방의 서로 다른 자동차특성화 대학들이 각자 가지고 있는 강점을 바탕으로 참여대학들의 교육과정 수준과 다양화를 고려하고 서로의 특장점을 융합하는 과정을 통해 교육콘텐츠 품질을 재고하기 위하여 각 대학의 본 과목 담당 교수들과 협력하여 작성되었다.
본 교과과정은 프로그램의 기본 단위이며 독립적인 기능을 갖는 객체(object)들을 이용하여 전체 프로그램의 목적을 달성하는 객체지향 프로그래밍의 구현과정을 학습할 수 있도록 한다. 변수와 함수를 하나로 묶어서 정의한 class라는 설계도를 이용하여 각각의 기본적인 독립 객체를 생성하고 이들 객체를 확장해 나아가는 C++ 언어 기반의 객체지향 프로그래밍 과정이다. 세부적으로는 C언어 기본인 변수선언, 제어문, 반복문 등을 바탕으로 포인터, 배열, 함수, 구조체 등의 C++에서 추가된 프로그램의 문법을 이해한다. 이를 근거로 class를 설계할 때 정보은닉, 상속, 메모리 할당, 함수 선언 등의 상세 설계도의 특징을 학습하며 이러한 class를 기반으로 생성된 객체를 활용하여 목적하는 프로그램을 완성하는 기법을 배운다.
Contents
1. 프로그래밍 시작
1-1 C언어의 특징
1-2 컴파일러 환경
1-3 C 언어 기본 구성
2. C언어 기본요소
2-1 기초정리
2-2 자료형
2-3 변수
2-4 기본 데이터 입출력
2-5 문자열 처리
2-6 연산자
2-7 제어문
2-8 반복문
3. 포인터와 배열
3-1 포인터
3-2 배열
3-3 범위 기반 for()문과 배열
3-4 배열과 포인터
3-5 동적 메모리 할당
4. 구조체
4-1 구조체 선언
4-2 구조체 초기화
4-3 구조체와 배열
5. 함수
5-1 함수선언
5-2 값 호출방식
5-3 참조 호출방식
5-4 포인터 호출방식
5-5 함수와 문자열
5-6 함수 오버로딩
5-7 디폴트 매개변수
5-8 함수 포인터
5-9 변수의 사용범위
6. class
6-1 class 설계
6-2 상속
6-3 friend
6-4 생성자와 소멸자
6-5 오버로딩 생성자, 멤버변수 초기화
6-6 복사생성자
6-7 class 객체와 함수
6-8 멤버함수 오버라이딩
6-9 this 포인터
7. 정적멤버변수와 함수
7-1 정적 멤버변수
7-2 정적 멤버함수
8. 프로그램의 다형성
8-1 가상함수
8-2 순수 가상함수
9. class 연산자
9-1 연산자 기능확장
9-2 전역 연산자 함수 오버로딩
10. 템플릿(Template)
10-1 함수 템플릿 기본
10-2 템플릿 특수화
10-3 객체의 템플릿 연산
10-4 class 템플릿
10-5 표준 템플릿 라이브러리
11. 파일 입출력
11-1 텍스트파일 문자열 읽기, 쓰기
11-2 텍스트파일 숫자 읽기, 쓰기
12. 예외처리
12-1 조건문을 사용한 예외처리
12-2 C++ 기본 예외처리
12-3 default catch 예외처리