Life/Book Record

[서평] 명품 C++

샤아이인 2022. 1. 21.

저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다.

 
명품 C++ Programming
저자 : 황기태
출판 : 생능출판사
발매 : 2018.03.05.

<읽은기간>

2020/12/28 ~ 2021/02/01 (홍정모 교수님의 따배씨쁠쁠과 병행하여 공부한 교제)

<리뷰 순서>

1) 책의 표지

2) 단원별 구성

3) 읽은소감

우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다.

Q 명품C++을 공부하기 전에 필요한 수준/ 지식은?

=> 최소한 C언어 문법은 기초정도는 알고있으셔야 합니다. 저자또한 C언어의 기초를 아는 독자를 대상으로 하는 책임을 도입부에서 명시해 주었다.

하지만 다행이도 기본프로그래밍 지식에 관한 부분을 홈페이지에서 제공해주고 있으니, 그부분을 보고 이책을 본다면 해결될지도 모르겠다.

Q C++ 배워야할 필요성, 어디에 도움이 될까?

=> 저같은 경우 알고리즘 공부를 위한 도구로써, C++을 주언어로 선택하기위해 공부를 시작하였습니다. 원래 C언어 공부할때도 포인터에서 매우큰 재미를 느껴 C만 거의 반년동안 공부했었는데 더 나아가 객체지향의 개념이 추가된 언어란 생각에 매우큰 흥미를 갖고 공부에 임하였습니다.

 

하지만 꼭 알고리즘 때문에 C++을 선택한것은 아닙니다. 이 외에도 C계열의 언어는 공부할수록 컴퓨터에 대한 이해도가 높아진다는 장점이 있습니다. 파일을 어떻게 다룰지, 메모리를 어떻게 다룰지 등등 컴퓨터 자체에 대한 이해도가 높아질수 있으며, 많은 분야에서 아직도 C++은 사용중인 언어로 알고있습니다. 컴공 필수언어라 생각합니다.

Q 이책을 읽은후 추후 공부는?

=> 저는 알고리즘과 STL을 공부할 생각입니다.

 

 

1. 책의 표지

 

디자인은 좀.... 표지의 머머리 아저씨는 C++창시자인 바야네 아저씨 인것같다. 깔끔한 디자인을 좋아하는지라 이런쪽은 취향이 아니다. 그래도 책은 내용이 중요한것이니 큰 상관은 없다.

 

 

2. 단원별 구성

● 목차

CHAPTER 01 C++ 시작

CHAPTER 02 C++ 프로그래밍의 기본

CHAPTER 03 클래스와 객체

CHAPTER 04 객체 포인터와 객체 배열, 객체의 동적 생성

CHAPTER 05 함수와 참조, 복사 생성자

CHAPTER 06 함수 중복과 static 멤버

CHAPTER 07 프렌드와 연산자 중복

CHAPTER 08 상속

CHAPTER 09 가상 함수와 추상 클래스

CHAPTER 10 템플릿과 표준 템플릿 라이브러리(STL)

CHAPTER 11 C++ 입출력 시스템

CHAPTER 12 C++ 파일 입출력

CHAPTER 13 예외 처리와 C 언어와의 링크 지정

 

총 13쳅터까지 있으며 각 쳅터의 구성은 본문의 내용과 Tip, 잠깐, Check문제, 요약, 이론문제, 실습문제, challenge로 나뉜다.

이중 가장 도움된것은 실습 문제이다. 뒤에서 좀더 자세하게 언급하겠다.

 

● 내용

9장 가상함수와 추상 클래스 기준으로 리뷰하겠습니다.

 

본문의 내용은 다음 사진과 같다.

기본적으로 그림으로 직관적이로 이해되도록 설명해주는 부분이 좋았으며, 코드 설명부분에서 보통 이전 페이지에 해당 코드가 있는경우 보통 전장을 넘겼다 다시 넘겼다를 반복하면서 보는 불편함이 있는데, 이책은 그런점 없이 설명사이에 해당 코드를 삽입해주어 바로바로 읽어가면서 어느 부분을 말하는지 확인하기 좋았다.

 

그림들 또한 흑백이 아닌 컬러라 조금더 시작적으로 좋았다.

 

또한 다음과 같이 전체 코드를 한눈에 보는 페이지에서도 설명이 추가되어서 확인하기 좋았으며, 실행결과도 항상 있어서 내가 코드를 보면서 생각한 결과와 일치하는지 확인가능하여 좋았다.

 

중간 중간 Tip 부분 또한 도움이 많이 되었다.

한 쳅터 안에서 작은 소단원이 끝나면 Check문제들 또한 간단히 점검하고 넘어가기 좋았다.

한 쳅터가 끝나면 이번단원에서 배운 내용을 가볍게 스케치 해볼수있는 요약페이지가 한장정도 있었다.

사실 나는 요약은 잘 안보는 지라 본적은 별로 없다. 나같은 경우 모르거나 생각이 안나는 경우 요약을 보기보단 해당부분으로 돌아가서 정독한다.

 

이론 문제들 또한 보통 20 문제정도 있었는데 개념적인 부분을 점검하기 좋았다.

홈페이지에서는 답이 홀수문제만 공개되있는데 구글에서 잘 찾아보면 전체답을 구할수 있다.

 

대망의 실습문제 파트다. 내가 이책을 칭찬하고싶은 이유가 이 part 때문이다.

다른 책들보다 십습문제의 양과 질이 좋다. 평균 15문제 정도씩은 실습문제가 있었으며, 또한 각 문제마다 난이도가 얼마나 되는데 문항옆에 숫자로 적혀있다.

나같은 경우 난이도 7까지는 다 풀었으며, 난이도 8은 보고 금방 풀릴것 같은것만, 최고난이도인 9는 그냥 안건드렸다. 홍정모 교수님 인강과 병행하고 있었던지라 한문제를 너무 오래잡고있기에는 한달안에 개념강좌가 끝나지 않을것 같았다. 난이도 9는 나중에 풀어볼 생각이다.

문제를 푼후 문항번호 아래에 동그라미 표시를 해두었다. 표시해둔 문제는 풀어본 것으로, 표시가 안되있는 문제들(난이도8, 9)은 이책을 일단 다 읽은후 다시 풀 생각이다.

 

3. 읽은소감

▶ 장점

장점은 실습문제다. 실습문제가 진자로 너무 좋다. 또한 홍정모 교수님의 따배씨쁠쁠 인강과 서로 겹쳐서 복습되는 부분도 있었지만, 명품C++에만 있는 내용도 있었기에 서로 상호보완적으로 공부할 수 있었다.

가령 연산자 오버로딩이 어떠한 방식으로 컴파일 되는지까진 인강에서 배우지 않았지만, 이책에서 그런부분을 매꿔갈 수 있었다. 설명또한 상세하여 읽으면서 이해못하는 부분이 없었다. 이책 진짜 난 강추한다.

 

거의 기본적인 모든 C++의 문법을 다루는 책이기 때문에 개념완성하기 아주 좋다. 물론 심화적인 내용이 빠진 부분이 있겠지만 책이 600p정도로 평범한 점 을 생각하면 타당한 페이지수 인것 같다. 더 심도있는 공부야 다른책들을 더 읽어가면서 매꿔가야할 부분일 것이다.

▶ 단점

유일한 단점은 문제들의 답이 이론문제는 홀수만 공개되있고, 실습문제는 아주 일부분만 정답이 공개가되있다. 그래도 이는 구글링 하면 다 찾을수 있으니 너무 큰 단점은 아닌것 같다.

 

이글의 모든 책의 사진이나 내용은 생능출판사 에게 있습니다.

댓글