본문 바로가기

IT 신간

이게 진짜 C++ 프로그래밍이다

커밍쑨

 

 

 

이게 진짜 C++ 프로그래밍이다

이동익, 서영진, 김유진 저 ㅣ 344쪽 ㅣ 20,000원

2015년 4월 1일

 

 

 

■ 책 소개(내용 요약)

 

이 책은 C++ 언어의 역사부터 시작해 개발 환경 구축에서부터 고급 활용 프로그램 구현까지 필수적으로 익혀야 하는 부분들을 위주로 난이도를 골고루 섞어 구성하였습니다. 그래서 초보자는 물론 실력을 업그레이드하고자 하는 모든 독자들을 위해 부담없이 볼 수 있도록 하였습니다.

초반부에는 C++ 언어 소개와 함께 이클립스 통합개발환경(IDE)을 설치하고 Hello World 프로그램을 구현하는 방법과 소스 코드의 구성을 소개하고 있습니다.

중반부부터는 본격적으로 C++ 언어의 문법들을 예제를 통해 실습하면서 익힐 수 있도록 하였습니다. 여러 가지 연산자와 우선 순위, 제어문, 그리고 배열과 포인터, 함수, 그리고 C++에서 등장하는 인라인 함수와 프렌드(friend) 등등에 대해서도 배우게 됩니다. 또한 객체지향 프로그래밍에서 등장하는 클래스와 객체, 상속, 접근 제한자, 오버로딩같은 개념들도 실습을 통해 다루고 있습니다.

후반부에는 파일 입출력과 string 클래스에 대해서 다루고 있습니다. 그리고 마지막에는 캐릭터 키우기 게임과 학사관리 프로그램을 간단하게 구현해보면서 C++ 프로그래밍 실력을 키울 수 있도록 하고 있습니다.

 

 

 

■ 출판사 리뷰

 

C++ 언어는 Java와 함께 대표적인 객체지향 프로그래밍 언어로 IT 분야에서 계속 사랑받고 있습니다. 그래서 프로그래밍을 처음 시작하는 분들은 물론 중고급 실력을 갖춘 개발자가 되기 위해서는 배워두면 좋은 프로그래밍 언어입니다.

이 책은 C++ 언어를 익히고자 하는 독자들이 알아야 알아둬야 할 내용들을 위주로 구성하였습니다. C++ 언어의 기초부터 필수적인 부분까지 소개하고 있지만, 이 책은 프로그래밍 기초를 어느 정도 접해본 독자들을 대상으로 하고 있습니다. C나 Java 혹은 다른 언어로 프로그래밍 해본 경험이 없거나 프로그래밍 자체를 처음 접하는 독자들이 보기에는 조금 어렵게 느껴질 수도 있을 것 같습니다.

이 책에서는 Java 언어를 배울 때 많이 사용하는 통합개발환경인 이클립스를 사용해 C++ 프로그래밍 개발 환경을 구축하는 방법을 다루고 있습니다. 그래서 Java 언어를 배운 독자나 이클립스가 설치되어 있는 PC에서도 C++ 프로그래밍을 할 수 있게끔 구성하였습니다. 그리고 C++ 언어의 기본 문법과 이를 이용해 어떻게 활용할 수 있는지를 예제를 통해 보여주고자 노력하였습니다. 그리고 중요하거나 난이도가 있는 내용은 일러스트와 도표를 활용하여 쉽게 이해할 수 있도록 하였습니다. 마지막 부분에 있는 캐릭터 키우기 게임과 학사관리 프로그램까지 정독하게 된다면 나도 모르게 C++ 프로그래밍 실력을 키울 수 있을 것입니다.

 

 

 

■ 대상 독자층

 

- IT 분야를 비롯한 이공계 분야를 전공하거나 진출하고자 하는 학생

- C 언어나 Java 언어 혹은 기타 프로그래밍 관련 도서를 읽어본 독자

- C++ 기초를 탄탄히 하고자 하는 독자

 

 

 

<이 책의 구성>

 

Chapter 01. C++ 프로그래밍 개요와 개발환경 구축

이 Chapter에서는 C++ 언어와 객체지향 프로그래밍의 개념에 대해 간략히 다루고 있다. 그리고 실습 환경을 구축하는 방법을 소개하고 있다.

Chapter 02. C++ 언어의 기초 구문

여기서는 C++에서 다루는 연산자의 우선 순위, 그리고 조건문과 반복문, 그리고 배열과 포인터에 대해 간략하게 다루고 있다. 이 내용은 C 언어와도 비슷한 부분이 많은데 배운 사람이라면 복습 차원에서 한번 보고 넘어가는 걸 권장한다.

Chapter 03. 함수

여기서는 함수에 대한 내용들을 다룬다. 소프트웨어 분야에서 말하는 함수는 특정 일을 수행하는 부분을 의미하는데, C 언어와 마찬가지로 C++에서도 함수를 제공한다. 그리고 함수에서 나오는 매개 변수와 반환값(Return Value)에 대해서도 다룬다.

Chapter 04. 클래스와 객체

이제부터 C++ 언어가 가진 객체지향 프로그래밍의 특징들을 본격적으로 다루게 된다. 먼저 이 Chapter에서는 클래스와 객체에 대해서 소개한다. 클래스와 객체는 객체지향 프로그래밍의 기본이 되는 내용이다. 그리고 접근 지정자, 생성자와 소멸자에 대한 내용도 실습을 통해 배우게 된다.

Chapter 05. 객체 배열과 객체 포인터 this

동일한 클래스에 속하는 객체를 여러 개 생성하기 위해 객체로 이루어진 배열을 만들 수 있다. 이번 Chapter에서는 객체 배열과 this 포인터 변수에 대해 다룬다.

Chapter 06. friend와 연산자 오버로딩

여기서는 friend(프렌드)에 대한 내용을 비롯해 static과 const 멤버, 그리고 오버로딩(Overloading)에 대한 내용들을 실습과 함께 배우게 된다.

Chapter 07. 상속

C++ 프로그래밍 언어에서 상속은 가장 중요한 개념 중 하나이다. 실생활에서도 상속의 개념이 있듯이 객체지향 프로그래밍에서도 상속이 있다. 이번 Chapter에서는 C++ 언어에서 말하는 상속은 어떤 것이고 또 어떻게 표현되는지 실습을 통해 배우게 된다.

Chapter 08. 가상 함수와 다중 상속

여기서는 상속과 관련되어서 필요한 가상 함수와 순수 가상 함수, 추상 클래스, 그리고 다중 상속에 대해 다룬다.

Chapter 09. 스트림과 파일 입출력

C++ 프로그래밍 언어에서는 기본적으로 C 언어에서 사용하는 파일 입출력과 스트림을 이용해서 입출력을 진행할 수 있다. 이 Chapter에서는 스트림을 이용하기 위한 삽입 연산자(<<)와 추출 연산자(>>), 그리고 입출력에 사용되는 함수들을 배우게 된다.

Chapter 10. 템플릿

이 Chapter에서는 템플릿에 관한 내용을 다룬다. C++의 템플릿도 코드의 기본 패턴은 동일하지만 데이터 타입을 다양하게 제공할 수 있는 방법으로 사용할 수 있다. 여기서는 함수 템플릿과 템플릿 클래스에 대해 소개한다.

Chapter 11. 예외 처리

프로그램을 사용하는 사용자가 개발자의 의도와 다른 방식으로 사용하거나 기계적인 결함이 발생하면 프로그램에 문제가 생기는 이른바 예외들이 존재한다. 예외가 발생하면 그냥 놔두는 것이 아니라 문제를 인식하고 해결하거나 적어도 사용자에게 문제를 알려주고 다시 동작하도록 요청하는 것이 바람직하다. 이번 Chapter에서는 이러한 예외들을 어떻게 처리하는지 배우게 된다.

Chapter 12. STL

템플릿 코드가 익숙하지 않은 사람들에게는 템플릿을 만드는 것이 힘들 것이다. 그래서 C++에서는 자주 사용되는 템플릿들을 미리 만들어 라이브러리로 제공하는데 이것이 바로 STL(Standard Template Library)이다. 이번 Chater에서는 STL에 대한 내용들을 다룬다.

Chapter 13. string 클래스

프로그램을 개발하다 보면 문자열(문장)을 다루는 경우가 많다. C 언어에서는 이러한 문자열을 다루기 위해서는 배열이나 포인터를 이용해야 해서 간단하지 않다. 하지만 C++에서는 string 클래스를 통해 문자열을 쉽게 다룰 수 있다. 여기서는 string 클래스에 대해 배우게 된다.

Chapter 14. 네임스페이스

객체지향 프로그래밍은 주로 중대형 크기의 소프트웨어 개발에 사용되므로 여러 개발자들이 함께 작업하는 경우가 많다. 이렇게 여러 사람이 함께 개발하다 보면 변수 이름이나 함수 이름이 중복되는 일이 발생하게 되는데 이를 막기 위해 사용하는 방법이 네임스페이스다. 이번 Chapter에서는 네임스페이스에 대해 다룬다.

Chapter 15. 실전 프로젝트 도전!

이 Chapter에서는 지금까지 배웠던 C++ 언어의 내용들을 바탕으로 간단한 프로그램 구현하기 프로젝트를 다루었다. 캐릭터 키우기 게임과 학사관리 프로그램을 개발해보면서 실력을 한층 더 업그레이드시킬 수 있는 발판을 마련하도록 하자.

 

 

■ 저자 소개

 

이동익

MDS 아카데미, 삼성전자, KEA, KCA 등등 여러 기업과 교육 기관에서 임베디드 리눅스와 삼성 Smart TV 애플리케이션 프로그램 강의를 진행하고 있다.

 

서영진

마이크로소프트웨어 잡지에 모바일 관련 기사를 다수 연재하였으며, IT 전문 강사와 컨설턴트로 일하고 있다. 저서로는 ‘Qt 프로그래밍’, ‘Tizen 프로그래밍’ 등이 있다.

 

김유진

자바와 안드로이드 관련 강의를 하고 있으며 삼성 소프트웨어 총괄, LG CNS, SK C&C, 대우정보시스템, 티맥스, 토마토 시스템즈 등 다수의 기업과 대학 및 교육센터에서 강의를 진행했다.

 

 

■ 목차

 

Chapter 01. C++ 프로그래밍 개요와 개발환경 구축

1. C++ 프로그래밍의 개요

2. 객체지향 프로그래밍이란 무엇인가?

3. 객체지향 프로그래밍의 특징

4. 개발 환경 구축하기

5. Hello World 프로그램 구현하기

연습 문제

Chapter 02 C++ 언어의 기초구문

1. C++ 프로그래밍 시작하기

2. C++ 연산자와 우선 순위

3. 제어문

4. 배열

5. 포인터

연습 문제

Chapter 03 함수

1. 함수의 형식

2. 매개 변수

3. 재귀 호출

4. 인라인(inline) 함수 70

5. 함수 오버로딩 73

연습 문제

Chapter 04 클래스와 객체

1. 클래스와 객체의 정의

2. 클래스와 객체의 관계

3. 접근 지정자

4. 생성자와 소멸자

연습 문제

Chapter 05 객체 배열과 객체 포인터 this

1. 객체 배열

2. 객체 포인터와 this

연습 문제

Chapter 06 friend와 연산자 오버로딩

1. 멤버 함수의 가시성

2. friend

3. static과 const 멤버

4. 오버로딩

연습 문제

Chapter 07 상속

1. 상속의 기본 개념

2. 상속과 접근 지정자

3. 생성자를 이용한 초기화

연습 문제

Chapter 08 가상 함수와 다중 상속

1. 가상 함수(Virtual Function)

2. 순수 가상 함수(Pure Virtual Function)

3. 다중 상속(Multiple Inheritance)

연습 문제

Chapter 09 스트림과 파일 입출력

1. 스트림의 기본 개념

2. C++ 클래스의 입출력 스트림 처리

3. 파일 입출력

연습 문제

Chapter 10 템플릿

1. 함수 템플릿

2. 템플릿 클래스

3. 템플릿 특수화

연습 문제

Chapter 11 예외 처리

1. 예외가 발생하는 사례

2. 예외 처리 방법

3. 예외 처리 미루기

4. 예측 못한 예외 처리

5. 예외 클래스

연습 문제

Chapter 12 STL

1. 컨테이너

2. 이터레이터

3. 알고리즘

연습 문제

Chapter 13 string 클래스

1. string 클래스 개요

2. 길이와 용량

3. string 할당과 변경

4. 문자열 추가

5. 문자열 내 특정 문자에 접근

6. 비교와 검색

연습 문제

Chapter 14 네임스페이스

1. 네임스페이스 개요

연습 문제

Chapter 15 실전 프로젝트 도전!

1. 캐릭터 키우기 게임 296

2. 학사관리 프로그램 306

Appendix 연습문제 모범 해답

 

 

 

 

 

 

반응형

'IT 신간' 카테고리의 다른 글

학교에서 통하는 스크래치 프로그래밍  (0) 2015.06.03
프레지 개정판  (0) 2015.03.09
하우투프레지 3rd Edition  (0) 2015.03.09