C++ 특강(실무에서 통하는)
Regular price
$21.35
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
매 학기 첫 수업시간에 학생들에게 수업교재와 별도로 강의 자료를 출력해 올 것을 요청할 때마다 매번 미안하였습니다. 학생상담을 통하여 요즘 젊은이의 얇은 지갑 사정을 너무나 잘 알기 때문입니다. 그래서 강의 자료와 교재를 합친 도서를 출판하게 되었습니다.
매 페이지에 나오는 강의 자료는 15년 동안 강의를 하면서 수강생의 피드백(feedback)을 반영한, 현재에도 강단에서 사용하고 있는 자료입니다. 강의자료 하단에 상세한 설명을 덧붙여 별도의 교재가 필요 없도록 하였습니다. 한 가지 학습 주제에 대한 이론이 끝날 때마다 실습해볼 수 있도록 연습문제를 배치하였다. 평균적으로 이론수업 20분에 실습 10분 정도가 소요되도록 하였습니다. (학습 주제에 따라 시간이 일정하지는 않다.) 이 정도의 이론과 실습의 시간 배분이 수강생의 학습 집중력을 유지하는데 도움이 됩니다.
프로그래밍 첫 수업시간마다 제가 학생들에게 하는 이야기가 있습니다. 『여러분이 이 수업을 듣는 목적은 C++ 언어의 문법을 배우는 것이 아니라, C++로 프로그래밍을 하는 것입니다. 비유하자면 여러분은 영문소설을 작성해야 합니다. 이를 위하여 영어 문법 공부가 필요하지만, 이는 영문소설을 쓰기 위한 기본사항일 뿐입니다. 결국 영문소설을 쓰기 위해서는 영어 문법 공부와는 별도로 등장 캐릭터의 성격을 개발하고, 주요 스토리를 잘 구성할 수 있는 능력을 키워야 합니다.』 소설을 잘 쓰는 능력이 바로 프로그래밍 스킬(skill)입니다. 프로그래밍 스킬은 특정 언어(C, C++, JAVA 등)의 문법을 잘 아는 것과는 무관합니다. 즉, 특정 언어에 대한 학습을 끝냈다고 해서 해당 언어로 프로그래밍을 잘하는 것은 아닙니다. 전문 프로그래머는 프로그래밍 스킬이 뛰어난 사람이며, 특정 언어에 구애받지 않습니다. 프로그래밍 언어는 프로그래밍 스킬을 발휘하기 위한 도구일 뿐이기 때문입니다. (물론 자신에 좀 더 잘 맞는 도구는 있습니다.)
프로그래밍 스킬을 쌓기 위해서는 프로그래밍을 많이 해보는 방법밖에 없습니다. 소설가 지망생이 소설을 많이 작성해보듯이 말입니다. 교재 내에 나오는 연습문제가 바로 짤막한 단편소설을 쓰는 연습이며, 마지막 게임 개발 프로젝트는 중편소설을 작성해보는 연습으로 비유할 수 있습니다. 이론 공부만으로 끝내지 말고 반드시 연습문제를 풀어보시기 바랍니다.
부디 이 책이 시중에 나와 있는 여러 C++ 프로그래밍 책 중의 한 권이 아니라 여러분에게 프로그래밍의 참 재미를 이끌어 낼 수 있는 계기가 되기를 빕니다.
매 페이지에 나오는 강의 자료는 15년 동안 강의를 하면서 수강생의 피드백(feedback)을 반영한, 현재에도 강단에서 사용하고 있는 자료입니다. 강의자료 하단에 상세한 설명을 덧붙여 별도의 교재가 필요 없도록 하였습니다. 한 가지 학습 주제에 대한 이론이 끝날 때마다 실습해볼 수 있도록 연습문제를 배치하였다. 평균적으로 이론수업 20분에 실습 10분 정도가 소요되도록 하였습니다. (학습 주제에 따라 시간이 일정하지는 않다.) 이 정도의 이론과 실습의 시간 배분이 수강생의 학습 집중력을 유지하는데 도움이 됩니다.
프로그래밍 첫 수업시간마다 제가 학생들에게 하는 이야기가 있습니다. 『여러분이 이 수업을 듣는 목적은 C++ 언어의 문법을 배우는 것이 아니라, C++로 프로그래밍을 하는 것입니다. 비유하자면 여러분은 영문소설을 작성해야 합니다. 이를 위하여 영어 문법 공부가 필요하지만, 이는 영문소설을 쓰기 위한 기본사항일 뿐입니다. 결국 영문소설을 쓰기 위해서는 영어 문법 공부와는 별도로 등장 캐릭터의 성격을 개발하고, 주요 스토리를 잘 구성할 수 있는 능력을 키워야 합니다.』 소설을 잘 쓰는 능력이 바로 프로그래밍 스킬(skill)입니다. 프로그래밍 스킬은 특정 언어(C, C++, JAVA 등)의 문법을 잘 아는 것과는 무관합니다. 즉, 특정 언어에 대한 학습을 끝냈다고 해서 해당 언어로 프로그래밍을 잘하는 것은 아닙니다. 전문 프로그래머는 프로그래밍 스킬이 뛰어난 사람이며, 특정 언어에 구애받지 않습니다. 프로그래밍 언어는 프로그래밍 스킬을 발휘하기 위한 도구일 뿐이기 때문입니다. (물론 자신에 좀 더 잘 맞는 도구는 있습니다.)
프로그래밍 스킬을 쌓기 위해서는 프로그래밍을 많이 해보는 방법밖에 없습니다. 소설가 지망생이 소설을 많이 작성해보듯이 말입니다. 교재 내에 나오는 연습문제가 바로 짤막한 단편소설을 쓰는 연습이며, 마지막 게임 개발 프로젝트는 중편소설을 작성해보는 연습으로 비유할 수 있습니다. 이론 공부만으로 끝내지 말고 반드시 연습문제를 풀어보시기 바랍니다.
부디 이 책이 시중에 나와 있는 여러 C++ 프로그래밍 책 중의 한 권이 아니라 여러분에게 프로그래밍의 참 재미를 이끌어 낼 수 있는 계기가 되기를 빕니다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
Chapter 01 Visual C++ 개발 환경
1.1 시작
1.2 DoNothing application 만들기
1.3 DoSomething application 만들기
1.4 디버깅
1.5 프로젝트 및 환경 설정
1.6 Console application 만들기
Chapter 02 C++ 소개
2.1 기본 개념
2.2 C++ 프로그램 개발 단계
2.3 C++ 맛보기
Chapter 03 Variable, Operator, Expression
3.1 변수
3.2 상수
3.3 연산자
3.4 수식과 문장
Chapter 04 Control Flow
4.1 제어흐름이란?
4.2 조건문
4.3 순환문
Chapter 05 Function & Preprocess
5.1 함수란?
5.2 함수 오버로드
5.3 인라인 함수
5.4 외부 함수
5.5 헤더 파일
5.6 전처리(preprocess)
5.7 C와의 연결
Chapter 06 Pointer & Array
6.1 배열
6.2 포인터란?
6.3 포인터와 배열
6.4 포인터의 연산자
6.5 동적 배열
6.6 다차원 배열
6.7 함수의 포인터
Chapter 07 Structure
7.1 구조체(Structure)란?
7.2 구조체(Structure) 사용
7.3 구조체 변수의 연산
7.4 구조체 멤버함수
7.5 자료형 선언(typedef)
7.6 유니온(union)
7.7 비트 필드(Bit Fields)
Chapter 08 What is Object-Oriented?
8.1 객체지향 - Object Orientation
8.2 객체지향의 기본적 개념
8.3 객체지향의 이점
Chapter 09 CLASS
9.1 Class란?
9.2 개발환경에서 Class 생성
9.3 Class-멤버변수와 멤버함수
9.4 Class-클래스용 함수와 변수
9.5 생성자(Constructor)
9.6 소멸자(Destructor)
9.7 this 포인터
9.8 const 멤버와 객체 멤버
9.9 friend 함수와 클래스
Chapter 10 Operator Overloading
10.1 Operator Overloading
10.2 Class 형 변환
10.3 Overload 함수 매칭
10.4 출력연산자 Overloading
Chapter 11 Inheritance
11.1 상속(Inheritance)이란?
11.2 파생 클래스(Derived Class)
11.3 상속에서의 접근 제한
11.4 상속에서의 생성자와 소멸자
11.5 함수 오버라이드(Override)
11.6 다중 상속(Multiple Inheritance)
Chapter 12 Virtual Function
12.1 강아지는 포유동물이다
12.2 가상 함수
12.3 가상 소멸자와 복사함수
12.4 추상 클래스(Abstract class)
Chapter 13 Exception
13.1 Exception이란?
13.2 exception 클래스
Chapter 14 Stream
14.1 스트림(Stream)이란?
14.2 표준 입출력 객체
14.3 파일 입출력
14.4 메모리 입출력
Chapter 15 Templates
15.1 템플릿(template)이란?
15.2 함수 템플릿
15.3 클래스 템플릿
Chapter 16 Object Oriented Design
16.1 객체지향적 설계
16.2 MVC 란?
16.3 MVC로 작성하기
Chapter 17 Console Input·Output
17.1 콘솔(Console) 화면 제어
17.2 CONSOLA Library
17.3 키(key) 입력
Chapter 18 Game Development Project
18.1 Game Development Project
18.2 Game Interface
18.3 Game Data Structure
■ 찾아보기
1.1 시작
1.2 DoNothing application 만들기
1.3 DoSomething application 만들기
1.4 디버깅
1.5 프로젝트 및 환경 설정
1.6 Console application 만들기
Chapter 02 C++ 소개
2.1 기본 개념
2.2 C++ 프로그램 개발 단계
2.3 C++ 맛보기
Chapter 03 Variable, Operator, Expression
3.1 변수
3.2 상수
3.3 연산자
3.4 수식과 문장
Chapter 04 Control Flow
4.1 제어흐름이란?
4.2 조건문
4.3 순환문
Chapter 05 Function & Preprocess
5.1 함수란?
5.2 함수 오버로드
5.3 인라인 함수
5.4 외부 함수
5.5 헤더 파일
5.6 전처리(preprocess)
5.7 C와의 연결
Chapter 06 Pointer & Array
6.1 배열
6.2 포인터란?
6.3 포인터와 배열
6.4 포인터의 연산자
6.5 동적 배열
6.6 다차원 배열
6.7 함수의 포인터
Chapter 07 Structure
7.1 구조체(Structure)란?
7.2 구조체(Structure) 사용
7.3 구조체 변수의 연산
7.4 구조체 멤버함수
7.5 자료형 선언(typedef)
7.6 유니온(union)
7.7 비트 필드(Bit Fields)
Chapter 08 What is Object-Oriented?
8.1 객체지향 - Object Orientation
8.2 객체지향의 기본적 개념
8.3 객체지향의 이점
Chapter 09 CLASS
9.1 Class란?
9.2 개발환경에서 Class 생성
9.3 Class-멤버변수와 멤버함수
9.4 Class-클래스용 함수와 변수
9.5 생성자(Constructor)
9.6 소멸자(Destructor)
9.7 this 포인터
9.8 const 멤버와 객체 멤버
9.9 friend 함수와 클래스
Chapter 10 Operator Overloading
10.1 Operator Overloading
10.2 Class 형 변환
10.3 Overload 함수 매칭
10.4 출력연산자 Overloading
Chapter 11 Inheritance
11.1 상속(Inheritance)이란?
11.2 파생 클래스(Derived Class)
11.3 상속에서의 접근 제한
11.4 상속에서의 생성자와 소멸자
11.5 함수 오버라이드(Override)
11.6 다중 상속(Multiple Inheritance)
Chapter 12 Virtual Function
12.1 강아지는 포유동물이다
12.2 가상 함수
12.3 가상 소멸자와 복사함수
12.4 추상 클래스(Abstract class)
Chapter 13 Exception
13.1 Exception이란?
13.2 exception 클래스
Chapter 14 Stream
14.1 스트림(Stream)이란?
14.2 표준 입출력 객체
14.3 파일 입출력
14.4 메모리 입출력
Chapter 15 Templates
15.1 템플릿(template)이란?
15.2 함수 템플릿
15.3 클래스 템플릿
Chapter 16 Object Oriented Design
16.1 객체지향적 설계
16.2 MVC 란?
16.3 MVC로 작성하기
Chapter 17 Console Input·Output
17.1 콘솔(Console) 화면 제어
17.2 CONSOLA Library
17.3 키(key) 입력
Chapter 18 Game Development Project
18.1 Game Development Project
18.2 Game Interface
18.3 Game Data Structure
■ 찾아보기
저자
저자
신우창
*2003년에 서울대학교 대학원 컴퓨터공학과 박사학위를 취득하였으며, 이후 현재까지 서경대학교 컴퓨터과학과 교수로 재직 중
*주된 연구 분야로 객체지향 프로그래밍, 웹 시스템개발, 소프트웨어공학 등이 있음.
*주된 연구 분야로 객체지향 프로그래밍, 웹 시스템개발, 소프트웨어공학 등이 있음.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

