C++로 시작하는 객체지향 프로그래밍(3판)
Regular price
$35.96
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
『C++로 시작하는 객체지향 프로그래밍』은 구문보다는 문제 해결에 중점을 두는 문제 구동 방식을 사용한 프로그래밍에 대해 가르치고 있다. 여러 가지 상황에서 문제를 야기한 개념을 사용함으로써 초보적인 프로그래밍에 대한 흥미를 돋운다. 앞에 있는 장들의 주요 내용은 문제 해결에 대한 것이다. 문제 해결을 위한 프로그램을 작성할 수 있도록 적절한 구문과 라이브러리에 대해 소개한다.
문제 구동 방식으로 프로그래밍을 하는 교육 방식을 위해 이 책은 학생들을 자극하기 위한 여러 가지 단계의 난이도로된 많은 문제를 제공한다. 학생들의 많은 전공에 적용해 보기 위해서 문제는 수학, 과학, 사업, 금융, 게임, 애니메이션 등 많은 응용 분야를 다루고 있다. 또한, 클래스를 설계하기 전에 우선 기본 프로그래밍 개념과 기법을 설명함으로써 기본에 초점을 맞추고 있다. 반복문, 함수, 배열에 대한 기본 개념과 기법은 프로그래밍의 기본이 된다. 이러한 강력한 토대를 구축함으로써 학생들이 객체지향 프로그래밍과 고급 C++ 프로그래밍을 배우기 위한 준비를 할 수 있다.
문제 구동 방식으로 프로그래밍을 하는 교육 방식을 위해 이 책은 학생들을 자극하기 위한 여러 가지 단계의 난이도로된 많은 문제를 제공한다. 학생들의 많은 전공에 적용해 보기 위해서 문제는 수학, 과학, 사업, 금융, 게임, 애니메이션 등 많은 응용 분야를 다루고 있다. 또한, 클래스를 설계하기 전에 우선 기본 프로그래밍 개념과 기법을 설명함으로써 기본에 초점을 맞추고 있다. 반복문, 함수, 배열에 대한 기본 개념과 기법은 프로그래밍의 기본이 된다. 이러한 강력한 토대를 구축함으로써 학생들이 객체지향 프로그래밍과 고급 C++ 프로그래밍을 배우기 위한 준비를 할 수 있다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
※ 제3판에서 달라진 것
『C++로 시작하는 객체지향 프로그래밍, 제3판(Introduction to Programming with C++, 3/e)』은 제2판의 많은 부분이 개선되었다. 주요 개선 사항은 다음과 같다.
■ 명확성, 소개, 구성, 예제, 실습 능력을 향상시키도록 완전 개정
■ 학생들의 프로그래밍에 대한 관심과 흥미를 유발시킬 수 있는 새로운 예제와 실습 문제
■ 각 절의 시작 부분에 있는 "Key Point"에서 중요한 개념 강조
■ 학생들이 학습 과정을 되짚어 보는 데 도움을 주고 중요한 개념이나 예제에 대해 알고 있는 지식을 평가하도록 하는 "Check Point"문제 제공
■ 4장에서 string 객체를 도입함으로써 이 책의 앞부분에서 문자열을 사용한 프로그래밍 가능
■ 4장에서 간단한 입출력을 도입함으로써 앞부분에서 파일을 사용한 프로그램 작성 가능
■ 6장의 내용에 함수를 포함시킴으로써 함수와 관련된 모든 사항을 다루는 것이 가능
■ 일반적인 프로그래밍 오류를 피할 수 있도록 하기 위한 일반적인 오류와 함정에 대한 부분
■ 복잡한 예를 좀 더 쉬운 예로 대체(예를 들어, 8장의 스도쿠 문제를 푸는 것은 해답이 옳은 것인지를 검사하는 문제로 대체되었고, 스도쿠 문제의 해답을 구하는 것은 지원 웹사이트로 이동)
『C++로 시작하는 객체지향 프로그래밍, 제3판(Introduction to Programming with C++, 3/e)』은 제2판의 많은 부분이 개선되었다. 주요 개선 사항은 다음과 같다.
■ 명확성, 소개, 구성, 예제, 실습 능력을 향상시키도록 완전 개정
■ 학생들의 프로그래밍에 대한 관심과 흥미를 유발시킬 수 있는 새로운 예제와 실습 문제
■ 각 절의 시작 부분에 있는 "Key Point"에서 중요한 개념 강조
■ 학생들이 학습 과정을 되짚어 보는 데 도움을 주고 중요한 개념이나 예제에 대해 알고 있는 지식을 평가하도록 하는 "Check Point"문제 제공
■ 4장에서 string 객체를 도입함으로써 이 책의 앞부분에서 문자열을 사용한 프로그래밍 가능
■ 4장에서 간단한 입출력을 도입함으로써 앞부분에서 파일을 사용한 프로그램 작성 가능
■ 6장의 내용에 함수를 포함시킴으로써 함수와 관련된 모든 사항을 다루는 것이 가능
■ 일반적인 프로그래밍 오류를 피할 수 있도록 하기 위한 일반적인 오류와 함정에 대한 부분
■ 복잡한 예를 좀 더 쉬운 예로 대체(예를 들어, 8장의 스도쿠 문제를 푸는 것은 해답이 옳은 것인지를 검사하는 문제로 대체되었고, 스도쿠 문제의 해답을 구하는 것은 지원 웹사이트로 이동)
목차
목차
제1장 컴퓨터, 프로그램 및 C++ 입문 1
1.1 들어가기 2
1.2 컴퓨터의 구성 2
1.3 프로그래밍 언어 10
1.4 운영체제 13
1.5 C++의 역사 15
1.6 간단한 C++ 프로그램 16
1.7 C++ 프로그램 개발 주기 21
1.8 프로그래밍 스타일과 문서화 22
1.9 프로그래밍 오류 24
제2장 기본 프로그래밍 33
2.1 들어가기 34
2.2 간단한 프로그램 작성 34
2.3 키보드로부터 입력 값 읽기 37
2.4 식별자 39
2.5 변수 40
2.6 대입문과 수식 42
2.7 이름 상수 44
2.8 숫자 데이터 유형과 연산 45
2.9 수식 계산과 연산자 우선순위 51
2.10 예제: 현재 시각 표시하기 53
2.11 증강 대입 연산자 55
2.12 증감 연산자 56
2.13 수의 형변환 58
2.14 소프트웨어 개발 과정 61
2.15 예제: 화폐 단위 계산 65
2.16 일반적인 오류 67
제3장 선택문 77
3.1 들어가기 78
3.2 bool 데이터 유형 78
3.3 단순 if문 79
3.4 이중 if-else문 82
3.5 중첩 if 문과 다중 if-else문 83
3.6 일반적인 오류와 위험 요소 86
3.7 예제: 체질량지수 계산 91
3.8 예제: 세금 계산 93
3.9 난수 생성 96
3.10 논리 연산자 98
3.11 예제: 윤년 계산 102
3.12 예제: 복권 103
3.13 switch 문 105
3.14 조건식 109
3.15 연산자 우선순위와 결합성 110
3.16 디버깅 112
제4장 수함 함수, 문자, 문자열 127
4.1 들어가기 128
4.2 수학 함수 128
4.3 문자 데이터 유형과 연산 132
4.4 예제: 임의의 문자 생성 137
4.5 예제: 생일 맞추기 139
4.6 문자 함수 143
4.7 예제: 16진수를 10진수로 변환 144
4.8 string 형 146
4.9 예제: 문자열을 사용하여 복권 프로그램 수정 150
4.10 콘솔 출력 형식 152
4.11 간단한 파일 입출력 157
제5장 반복문 169
5.1 들어가기 170
5.2 while 문 170
5.3 do-while 문 183
5.4 for 문 186
5.5 어떤 반복문을 사용하는 것이 좋을까? 190
5.6 중첩 루프 192
5.7 수치 오류의 최소화 194
5.8 실전 예제 195
5.9 break와 continue 키워드 202
5.10 예제: 회문 검사 206
5.11 예제: 소수 출력 207
제6장 함수 225
6.1 들어가기 226
6.2 함수 정의 227
6.3 함수 호출 228
6.4 void 함수 231
6.5 값에 의한 인수 전달 234
6.6 코드 모듈화 235
6.7 함수 오버로딩 238
6.8 함수 원형 241
6.9 기본 인수 243
6.10 인라인 함수 244
6.11 지역 변수, 전역 변수, 정적 지역 변수 245
6.12 참조에 의한 전달 251
6.13 상수 참조 매개변수 260
6.14 예제: 16진수를 10진수로 변환 261
6.15 함수 추상화와 단계적 상세화 263
제7장 1차원 배열과 C-문자열 289
7.1 들어가기 290
7.2 배열의 기초 291
7.3 문제: 복권 번호 298
7.4 문제: 카드 한 팩 301
7.5 함수로 배열 전달 304
7.6 함수에서의 배열 인수 보호 306
7.7 함수로부터 배열 반환 307
7.8 문제: 각 문자의 발생 빈도 계산 309
7.9 배열 탐색 312
7.10 배열 정렬 316
7.11 C-문자열 318
제8장 다차원 배열 337
8.1 들어가기 338
8.2 2차원 배열 선언 338
8.3 2차원 배열 처리 339
8.4 2차원 배열을 함수에 전달 342
8.5 문제: 시험 문제 채점 343
8.6 문제: 가장 가까운 쌍 찾기 345
8.7 문제: 스도쿠 347
8.8 다차원 배열 351
제9장 객체와 클래스 371
9.1 들어가기 372
9.2 객체를 위한 클래스 정의 372
9.3 클래스 정의와 객체 생성의 예 374
9.4 생성자 378
9.5 객체 구성과 사용 379
9.6 클래스 정의와 구현 분리 382
9.7 다중 포함 방지 385
9.8 클래스에서의 인라인 함수 387
9.9 데이터 필드 캡슐화 388
9.10 변수의 범위 392
9.11 클래스 추상화와 캡슐화 393
제10장 객체지향 개념 405
10.1 들어가기 406
10.2 string 클래스 406
10.3 함수에 객체 전달 416
10.4 객체의 배열 419
10.5 인스턴스 멤버와 정적 멤버 421
10.6 상수 멤버 함수 426
10.7 객체에서의 고려사항 429
10.8 객체 합성 435
10.9 예제: StackOfIntegers 클래스 437
10.10 클래스 설계 지침 440
제11장 포인터와 동적 메모리 관리 451
11.1 들어가기 452
11.2 포인터의 기본 사항 452
11.3 typedef 키워드를 사용한 동의어 유형 정의 458
11.4 포인터와 const의 사용 459
11.5 배열과 포인터 460
11.6 함수 호출에서 포인터 인수 전달 464
11.7 함수로부터 포인터 반환 468
11.8 유용한 배열 함수 469
11.9 동적 영구 메모리 할당 471
11.10 동적 객체 생성과 접근 476
11.11 this 포인터 478
11.12 소멸자 479
11.13 예제: Course 클래스 482
11.14 복사 생성자 486
11.15 사용자 정의 복사 생성자 489
제12장 템플릿, 벡터, 스택 501
12.1 들어가기 502
12.2 템플릿의 기본 502
12.3 예제: 제네릭 정렬 507
12.4 클래스 템플릿 510
12.5 Stack 클래스 개선 517
12.6 C++ 벡터 클래스 520
12.7 vector 클래스를 사용한 배열 대체 522
12.8 예제: 수식 계산 526
제13장 파일 입력과 출력 543
13.1 들어가기 544
13.2 텍스트 입출력 544
13.3 출력 형식 지정 551
13.4 getline, get, put 함수 552
13.5 fstream과 파일 열기 모드 556
13.6 스트림 상태 검사 558
13.7 이진 입출력 560
13.8 임의 접근 파일 568
13.9 파일 갱신 572
제14장 연산자 오버로딩 579
14.1 들어가기 580
14.2 Rational 클래스 581
14.3 연산자 함수 587
14.4 첨자 연산자 []의 오버로딩 589
14.5 증강 대입 연산자의 오버로딩 591
14.6 단항 연산자 오버로딩 592
14.7 ++와 -- 연산자 오버로딩 593
14.8 friend 함수와 friend 클래스 594
14.9 《와》 연산자 오버로딩 596
14.10 자동 형변환 599
14.11 오버로딩 연산자를 위한 비멤버 함수 정의 600
14.12 오버로딩된 함수 연산자가 포함된 Rational 클래스 601
14.13 = 연산자 오버로딩 610
제15장 상속과 다형성 619
15.1 들어가기 620
15.2 기본 클래스와 파생 클래스 620
15.3 제네릭 프로그래밍 630
15.4 생성자와 소멸자 630
15.5 함수 재정의 636
15.6 다형성 638
15.7 가상 함수와 동적 결합 639
15.8 보호(protected) 키워드 643
15.9 클래스와 순수 가상 함수 645
15.10 정적 형변환(static_cast)과 동적 형변환(dynamic_cast) 654
제16장 예외 처리 663
16.1 들어가기 664
16.2 예외 처리 개요 664
16.3 예외 처리의 장점 668
16.4 예외 클래스 669
16.5 사용자 예외 클래스 675
16.6 다중 예외 받기 679
16.7 예외 전달 685
16.8 예외 중계 687
16.9 예외 지정 688
16.10 예외를 사용하는 시점 690
제17장 재귀 호출 695
17.1 들어가기 696
17.2 예제: 계승 계산 696
17.3 예제: 피보나치 수 700
17.4 재귀를 사용한 문제 해결 703
17.5 재귀 도움 함수 706
17.6 하노이 탑 710
17.7 8퀸 714
17.8 재귀 대 반복 717
17.9 꼬리 재귀 717
부록 725
부록 A C++ 키워드 726
부록 B ASCII 문자 727
부록 C 연산자 우선순위 차트 729
부록 D 수 체계 731
부록 E 비트 연산자 735
찾아보기 737
이미지 출처 743
1.1 들어가기 2
1.2 컴퓨터의 구성 2
1.3 프로그래밍 언어 10
1.4 운영체제 13
1.5 C++의 역사 15
1.6 간단한 C++ 프로그램 16
1.7 C++ 프로그램 개발 주기 21
1.8 프로그래밍 스타일과 문서화 22
1.9 프로그래밍 오류 24
제2장 기본 프로그래밍 33
2.1 들어가기 34
2.2 간단한 프로그램 작성 34
2.3 키보드로부터 입력 값 읽기 37
2.4 식별자 39
2.5 변수 40
2.6 대입문과 수식 42
2.7 이름 상수 44
2.8 숫자 데이터 유형과 연산 45
2.9 수식 계산과 연산자 우선순위 51
2.10 예제: 현재 시각 표시하기 53
2.11 증강 대입 연산자 55
2.12 증감 연산자 56
2.13 수의 형변환 58
2.14 소프트웨어 개발 과정 61
2.15 예제: 화폐 단위 계산 65
2.16 일반적인 오류 67
제3장 선택문 77
3.1 들어가기 78
3.2 bool 데이터 유형 78
3.3 단순 if문 79
3.4 이중 if-else문 82
3.5 중첩 if 문과 다중 if-else문 83
3.6 일반적인 오류와 위험 요소 86
3.7 예제: 체질량지수 계산 91
3.8 예제: 세금 계산 93
3.9 난수 생성 96
3.10 논리 연산자 98
3.11 예제: 윤년 계산 102
3.12 예제: 복권 103
3.13 switch 문 105
3.14 조건식 109
3.15 연산자 우선순위와 결합성 110
3.16 디버깅 112
제4장 수함 함수, 문자, 문자열 127
4.1 들어가기 128
4.2 수학 함수 128
4.3 문자 데이터 유형과 연산 132
4.4 예제: 임의의 문자 생성 137
4.5 예제: 생일 맞추기 139
4.6 문자 함수 143
4.7 예제: 16진수를 10진수로 변환 144
4.8 string 형 146
4.9 예제: 문자열을 사용하여 복권 프로그램 수정 150
4.10 콘솔 출력 형식 152
4.11 간단한 파일 입출력 157
제5장 반복문 169
5.1 들어가기 170
5.2 while 문 170
5.3 do-while 문 183
5.4 for 문 186
5.5 어떤 반복문을 사용하는 것이 좋을까? 190
5.6 중첩 루프 192
5.7 수치 오류의 최소화 194
5.8 실전 예제 195
5.9 break와 continue 키워드 202
5.10 예제: 회문 검사 206
5.11 예제: 소수 출력 207
제6장 함수 225
6.1 들어가기 226
6.2 함수 정의 227
6.3 함수 호출 228
6.4 void 함수 231
6.5 값에 의한 인수 전달 234
6.6 코드 모듈화 235
6.7 함수 오버로딩 238
6.8 함수 원형 241
6.9 기본 인수 243
6.10 인라인 함수 244
6.11 지역 변수, 전역 변수, 정적 지역 변수 245
6.12 참조에 의한 전달 251
6.13 상수 참조 매개변수 260
6.14 예제: 16진수를 10진수로 변환 261
6.15 함수 추상화와 단계적 상세화 263
제7장 1차원 배열과 C-문자열 289
7.1 들어가기 290
7.2 배열의 기초 291
7.3 문제: 복권 번호 298
7.4 문제: 카드 한 팩 301
7.5 함수로 배열 전달 304
7.6 함수에서의 배열 인수 보호 306
7.7 함수로부터 배열 반환 307
7.8 문제: 각 문자의 발생 빈도 계산 309
7.9 배열 탐색 312
7.10 배열 정렬 316
7.11 C-문자열 318
제8장 다차원 배열 337
8.1 들어가기 338
8.2 2차원 배열 선언 338
8.3 2차원 배열 처리 339
8.4 2차원 배열을 함수에 전달 342
8.5 문제: 시험 문제 채점 343
8.6 문제: 가장 가까운 쌍 찾기 345
8.7 문제: 스도쿠 347
8.8 다차원 배열 351
제9장 객체와 클래스 371
9.1 들어가기 372
9.2 객체를 위한 클래스 정의 372
9.3 클래스 정의와 객체 생성의 예 374
9.4 생성자 378
9.5 객체 구성과 사용 379
9.6 클래스 정의와 구현 분리 382
9.7 다중 포함 방지 385
9.8 클래스에서의 인라인 함수 387
9.9 데이터 필드 캡슐화 388
9.10 변수의 범위 392
9.11 클래스 추상화와 캡슐화 393
제10장 객체지향 개념 405
10.1 들어가기 406
10.2 string 클래스 406
10.3 함수에 객체 전달 416
10.4 객체의 배열 419
10.5 인스턴스 멤버와 정적 멤버 421
10.6 상수 멤버 함수 426
10.7 객체에서의 고려사항 429
10.8 객체 합성 435
10.9 예제: StackOfIntegers 클래스 437
10.10 클래스 설계 지침 440
제11장 포인터와 동적 메모리 관리 451
11.1 들어가기 452
11.2 포인터의 기본 사항 452
11.3 typedef 키워드를 사용한 동의어 유형 정의 458
11.4 포인터와 const의 사용 459
11.5 배열과 포인터 460
11.6 함수 호출에서 포인터 인수 전달 464
11.7 함수로부터 포인터 반환 468
11.8 유용한 배열 함수 469
11.9 동적 영구 메모리 할당 471
11.10 동적 객체 생성과 접근 476
11.11 this 포인터 478
11.12 소멸자 479
11.13 예제: Course 클래스 482
11.14 복사 생성자 486
11.15 사용자 정의 복사 생성자 489
제12장 템플릿, 벡터, 스택 501
12.1 들어가기 502
12.2 템플릿의 기본 502
12.3 예제: 제네릭 정렬 507
12.4 클래스 템플릿 510
12.5 Stack 클래스 개선 517
12.6 C++ 벡터 클래스 520
12.7 vector 클래스를 사용한 배열 대체 522
12.8 예제: 수식 계산 526
제13장 파일 입력과 출력 543
13.1 들어가기 544
13.2 텍스트 입출력 544
13.3 출력 형식 지정 551
13.4 getline, get, put 함수 552
13.5 fstream과 파일 열기 모드 556
13.6 스트림 상태 검사 558
13.7 이진 입출력 560
13.8 임의 접근 파일 568
13.9 파일 갱신 572
제14장 연산자 오버로딩 579
14.1 들어가기 580
14.2 Rational 클래스 581
14.3 연산자 함수 587
14.4 첨자 연산자 []의 오버로딩 589
14.5 증강 대입 연산자의 오버로딩 591
14.6 단항 연산자 오버로딩 592
14.7 ++와 -- 연산자 오버로딩 593
14.8 friend 함수와 friend 클래스 594
14.9 《와》 연산자 오버로딩 596
14.10 자동 형변환 599
14.11 오버로딩 연산자를 위한 비멤버 함수 정의 600
14.12 오버로딩된 함수 연산자가 포함된 Rational 클래스 601
14.13 = 연산자 오버로딩 610
제15장 상속과 다형성 619
15.1 들어가기 620
15.2 기본 클래스와 파생 클래스 620
15.3 제네릭 프로그래밍 630
15.4 생성자와 소멸자 630
15.5 함수 재정의 636
15.6 다형성 638
15.7 가상 함수와 동적 결합 639
15.8 보호(protected) 키워드 643
15.9 클래스와 순수 가상 함수 645
15.10 정적 형변환(static_cast)과 동적 형변환(dynamic_cast) 654
제16장 예외 처리 663
16.1 들어가기 664
16.2 예외 처리 개요 664
16.3 예외 처리의 장점 668
16.4 예외 클래스 669
16.5 사용자 예외 클래스 675
16.6 다중 예외 받기 679
16.7 예외 전달 685
16.8 예외 중계 687
16.9 예외 지정 688
16.10 예외를 사용하는 시점 690
제17장 재귀 호출 695
17.1 들어가기 696
17.2 예제: 계승 계산 696
17.3 예제: 피보나치 수 700
17.4 재귀를 사용한 문제 해결 703
17.5 재귀 도움 함수 706
17.6 하노이 탑 710
17.7 8퀸 714
17.8 재귀 대 반복 717
17.9 꼬리 재귀 717
부록 725
부록 A C++ 키워드 726
부록 B ASCII 문자 727
부록 C 연산자 우선순위 차트 729
부록 D 수 체계 731
부록 E 비트 연산자 735
찾아보기 737
이미지 출처 743
저자
저자
Liang Y. Daniel
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.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

