도서상세보기

도서명 모던 C++ 프로그래밍 입문 (2nd Ed. 개정판
저자 음두헌
출판사 가메출판사
출판일 2023-05-31
정가 30,000원
ISBN 9788980783144
수량

CHAPTER 01 Hello 응용 프로그램
01 Hello 응용 프로그램 실습
Check Point: 콘솔 입출력, 주석, 이름 공간, 클래스와 객체
02 필수 문법
2.1 이름 공간
2.2 기본 데이터 타입
2.3 inline 함수
2.4 const의 사용
2.5 열거형 타입과 구조체
2.6 함수의 오버로딩
2.7 레퍼런스와 레퍼런스 전달 호출
** 2.8 우측값 레퍼런스 C++11
2.9 디폴트 파라미터
2.10 string 타입
2.11 new와 delete 연산자
2.12 수학 상수 C++20
03 응용 과제
3.1 응용 과제 1
** 3.2 응용 과제 2
04 연습 문제

CHAPTER 02 Pen 응용 프로그램
01 Pen 응용 프로그램 실습
Check Point: 클래스, 객체, public과 private 접근자,
클래스 내 멤버 초기화, 생성자
02 필수 문법
2.1 템플릿 함수
2.2 nullptr 포인터
2.3 객체 포인터
2.4 스마트 포인터 C++11
2.5 범위 기반 for 문 C++11
** 2.6 constexpr 표현식 C++11
** 2.7 템플릿 파라미터의 추론
2.8 파입 입출력
** 2.9 string_view 타입 C++17
** 2.10 any 타입 C++17
03 응용 과제
3.1 응용 과제 1
3.2 응용 과제 2
** 3.3 응용 과제 3
04 연습 문제

CHAPTER 03 Rectangle 응용 프로그램
01 Rectangle 응용 프로그램 실습
Check Point: 클래스, 객체, 생성자, 생성자 초기자,
객체 파라미터, this 포인터
02 필수 문법
2.1 디폴트 생성자
2.2 const 멤버 함수와 상수 객체
2.3 멤버 함수의 내부 구현
2.4 소멸자와 디폴트 소멸자
2.5 템플릿 클래스
2.6 접근 함수와 변경 함수
2.7 연산자 오버로딩
2.8 디폴트 배정 연산자와 디폴트 복사 생성자
2.9 타
이 책은 다른 C++ 프로그래밍 입문서에 비해 다음과 같은 차별성을 가진다.

첫째, 비주얼한 실습을 통한 객체지향 개념의 단계적 정립

객체지향 개념의 효율적인 전달을 위해서, 나는 이어지는 실습으로 카드 게임을 완성해 나가면서 그 안에서 필수 문법을 다루는 탑-다운 구성을 채택했다. 또한, 쉽고 재미있는 학습을 위해서 2장부터 시각적인 실습을 진행할 수 있는 시각 사용자 인터페이스 라이브러리와 기본 코드 틀을 제시해서 활용했다. iOS 앱의 개발 환경인 Xcode, 안드로이드 앱의 개발 환경인 안드로이드 스튜디오, 웹 사이트의 개발 환경인 스프링 프레임워크 등의 거의 모든 객체지향 개발 환경은 이 책에서 사용하는 시각 사용자 인터페이스 라이브러리처럼 프레임워크 기반의 프로그래밍 방식을 채택하고 있다.

둘째, 표준 템플릿 라이브러리를 적극적으로 활용하는 제네릭 프로그래밍의 기초 확립

이 책에서 제네릭 프로그래밍이란 주로 C++의 표준 템플릿 라이브러리를 활용하는 포괄적인 프로그래밍을 의미한다. 포괄적인 프로그래밍이란 한 번 정의한 코드를 여러 타입의 데이터에 포괄적으로 적용시킬 수 있게 코드를 작성하는 것을 말한다. 이 책은 객체지향 개념을 큰 틀로 하고 그 안에서 제네릭 프로그래밍의 장점을 활용하는 구성을 채택하고 있기 때문에 객체지향 개념의 정립 단계에 맞추어 제네릭 프로그래밍의 기법을 점진적으로 설명해 나간다.

셋째, 대형 프로그램의 작성을 위한 모듈화 프로그래밍의 기초 정립

모듈화 프로그래밍이란 프로그램을 작성할 때 기능별로 모듈을 정의해서 프로그램을 모듈 단위로 구현하는 것을 말한다. 나는 모듈화 프로그래밍의 실습을 위해서 이 책의 최종 실습 과제에서 완성되는 카드 게임을 일부러 다섯 개의 작은 논리적인 모듈들로 구성했고 2장부터 한 개씩의 모듈을 추가해서 카드 게임을 완성해 나가는 구성을 채택했다.