프로그래밍 언어는 컴퓨터의 역사와 함께 많은 변천을 거쳐 오늘날에 이르고 있다. 그동안 수많은 언어들이 개발되어 사용되고 있는데, 최근에는 소프트웨어 개발 프로젝트의 복잡성이 갈수록 높아지기 때문에 개발과정뿐 아니라 유지・보수 비용을 절감할 수 있는 객체지향 방법이 많이 사용되고 있다. 이 책의 목적은 객체지향 프로그래밍의 개념을 이해하고, 이를 위해 제공되는 프로그래밍 언어의 구문을 활용하는 능력을 키우기 위함에 있다. 객체지향 프로그래밍에 사용되는 언어는 여러 가지가 있지만, 이 교재에서는 C++ 언어를 중점적으로 다루고 있다. C++는 기존의 C 언어에서 확장된 언어이다. C 언어는 고급언어로서의 프로그래밍 편리성과 기계 중심 언어가 가지고 있는 효율성을 겸비하고 있으며, 문법체계가 간결해 배우기 쉽다. C++ 언어는 이러한 C 언어의 장점을 그대로 가지고 있으면서 객체지향 프로그래밍을 할 수 있는 능력을 결합해 많은 프로그래머들이 활용하는 언어로 자리잡았다. 프로그래밍 언어를 배우는 지름길은 프로그램을 직접 작성해 보는 것이다. 교재에 제시된 프로그램을 직접 실행하여 보고, 이를 여러 형태로 변형하여 보면 더욱 쉽게 이해할 수 있으며, 응용력도 키울 수 있을 것이다.
제1장 C++ 언어의 소개
1.1 C++ 언어의 개요 / 1.2 C++ 프로그램의 작성 및 빌드 / 1.3 C++ 프로그래밍 첫걸음
제2장 C++ 언어의 기초
2.1 키워드와 식별자 / 2.2 기본 자료형 및 상수와 변수 / 2.3연산자 / 2.4 자료형의 변환 / 2.5 흐름제어 구문 / 2.6 구조체와 클래스 / 2.7 배열, 포인터, 참조
제3장 함수
3.1 함수의 정의와 호출 / 3.2 인수의 전달 / 3.3 함수의 다중정의 / 3.4 inline 함수
제4장 클래스와 객체
4.1 객체지향 프로그래밍의 주요 개념 / 4.2 클래스 선언과 객체 정의 / 4.3 생성자와 소멸자 / 4.4 생성자의 종류 / 4.5 static 데이터 멤버와 static 멤버함수 / 4.6 클래스의 활용
제5장 연산자 다중정의
5.1 연산자 다중정의란? / 5.2 단항 연산자의 다중정의 / 5.3 이항 산술 연산자 및 관계 연산자의 다중정의 / 5.4 스트림 입출력 연산자의 다중정의 / 5.5 대입 및 이동 대입 연산자 / 5.6 [ ] 연산자의 다중정의 / 5.7 문자열 클래스 / 5.8 자료형의 변환 / 5.9 연산자 다중정의의 주의 사항
제6장 상속
6.1 기초 클래스와 파생 클래스 / 6.2 파생 클래스의 생성자 및 소멸자 / 6.3 액세스 제어 / 6.4 파생 클래스와 포인터 / 6.5 가상함수 / 6.6 추상 클래스 / 6.7 다중상속
제7장 템플릿
7.1 컨테이너 클래스와 템플릿 / 7.2 클래스 템플릿 / 7.3 함수 템플릿 / 7.4 표준 템플릿 라이브러리
제8장 예외처리
8.1 예외의 개념 / 8.2 C++ 언어의 예외처리 체계 / 8.3 예외처리 클래스 / 8.4 예외처리 클래스의 상속
제9장 입출력 스트림
9.1 입출력 스트림의 개요 / 9.2 cin을 이용한 입력 / 9.3 cout을 이용한 출력 / 9.4 파일 입출력
전중남
연세대학교 공과대학 전자공학과 졸업
연세대학교 대학원 전자공학과(공학석사, 공학박사)
미국 텍사스 A&M 대학교 방문교수
현재 : 충북대학교 컴퓨터과학과 교수
이병래
연세대학교 공과대학 전자공학과 졸업
연세대학교 대학원 전자공학과(공학석사, 공학박사)
미국 노스캐롤라이나 주립대학교 방문교수
현재 : 한국방송통신대학교 컴퓨터과학과 교수