Java의 정석 : 기초편

남궁성 (지은이) | 도우출판 | 2019년 12월 정가 25,000원 판매가 22,500원 배송비 0원 (0원 이상 무료) 페이지 1,000쪽 판형 188*258mm 2200g ISBN 9788994492049 상태 새책 or 중고 수량 합계 22,500

책소개

최근 10년 넘게 자바 분야의 베스트 셀러 1위를 지켜온 '자바의 정석'의 기초편. 저자가 강의실과 카페에서 15년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 만들었다. 코딩을 처음 배우는 사람도 자바를 쉽게 배울수 있게 도와주며, 핵심기능은 빠짐없이 들어가있으면서도 간결하고 명확한 설명은 독자들의 시간을 아껴준다.

저자소개

남궁성 (지은이)  
신간알리미 신청
인하대학교에서 물리학을 전공하였으며, 1996년 삼성SDS에서 첫 직장생활을 시작했다. 삼성멀티캠퍼스에서 강의하였으며, 여러 직장을 거쳐 현재는 프리랜서로 집필과 강의를 하고 있다.
http://www.codechobo.com 을 운영하고 있으며 책관련 문의에 직접 답변해주고 있다. 저서로는 수 년간 베스트 셀러의 자리를 지켜온 'Java의 정석(3판)'이 있다.

출판사소개

목차

Chapter 1. 자바를 시작하기 전에

01 자바(Java)란? ··············································································································2

02 자바의 역사 ···················································································································3

03 자바의 특징 ···················································································································4

04 자바 가상 머신(JVM) ····································································································6

05 자바 개발도구(JDK) 설치하기 ······················································································7

06 자바 개발도구(JDK) 설정하기 ····················································································11

07 자바 API문서 설치하기 ·······························································································15

08 첫 번째 자바 프로그램 작성하기 ················································································16

09 자바 프로그램의 실행과정 ··························································································18

10 이클립스 설치하기 ······································································································19

11 이클립스로 자바 프로그램 개발하기 ··········································································23

12 이클립스의 뷰, 퍼스펙티브, 워크스페이스 ·································································26

13 이클립스 단축키 ··········································································································28

14 이클립스의 자동 완성 기능 ··························································································30

15 주석(comment) ··········································································································32

16 자주 발생하는 에러와 해결방법 ·················································································34

17 책의 소스와 강의자료 다운로드 ·················································································36

18 이클립스로 소스파일 가져오기 ···················································································38

19 이클립스에서 소스파일 내보내기 ···············································································41

Chapter 2. 변수

01 화면에 글자 출력하기 - print( )과 println( ) ······························································46

02 덧셈 뺄셈 계산하기 ·····································································································47

03 변수의 선언과 저장 ···································································································48

04 변수의 타입 ··················································································································50

05 상수와 리터럴 ·············································································································51

06 리터럴의 타입과 접미사 ·····························································································52

07 문자 리터럴과 문자열 리터럴 ·····················································································53

08 문자열 결합 ·················································································································54

09 두 변수의 값 바꾸기 ···································································································55

10 기본형과 참조형 ··········································································································56

11 기본형의 종류와 범위 ·································································································57

12 printf를 이용한 출력 ·································································································58

13 printf를 이용한 출력 예제 ··························································································59

14 화면으로부터 입력받기 ·······························································································61

15 정수형의 오버플로우 ·································································································62

16 부호있는 정수의 오버플로우 ·····················································································64

17 타입 간의 변환방법 ·····································································································66

연 습 문 제 ···························································································································67

Chapter 3. 연산자

01 연산자와 피연산자 ······································································································70

02 연산자의 종류 ·············································································································71

03 연산자의 우선순위 ······································································································72

04 연산자의 결합규칙 ······································································································73

05 증감 연산자 ++과 -- ································································································74

06 부호 연산자 ·················································································································76

07 형변환 연산자 ·············································································································77

08 자동 형변환 ·················································································································78

09 사칙 연산자 ·················································································································79

10 산술 변환 ····················································································································80

11 Math.round( )로 반올림하기 ······················································································83

12 나머지 연산자 ·············································································································84

13 비교 연산자 ··················································································································85

14 문자열의 비교 ·············································································································86

15 논리 연산자 && || ! ································································································87

16 논리 부정 연산자 ········································································································90

17 조건 연산자 ·················································································································91

18 대입 연산자 ··················································································································93

19 복합 대입 연산자 ··········································································································94

연 습 문 제 ···························································································································95

Chapter 4. 조건문과 반복문

01 if문 ·······························································································································98

02 조건식의 다양한 예 ·····································································································99

03 블럭{} ························································································································100

04 if - else문 ··················································································································101

05 if - else if문 ···············································································································102

06 if - else if문 예제 ······································································································103

07 중첩 if문 ····················································································································104

08 중첩 if문 예제 ···········································································································105

09 switch문 ···················································································································106

10 switch문의 제약조건 ·································································································107

11 switch문의 제약조건 예제 ·······················································································108

12 임의의 정수만들기 Math.random( ) ········································································109

13 for문 ··························································································································110

14 for문 예제 ·················································································································112

15 중첩 for문 ·················································································································113

16 while문 ·····················································································································115

17 while문 예제1 ··········································································································116

18 while문 예제2 ··········································································································117

19 do - while문 ··············································································································118

20 break문 ····················································································································119

21 continue문 ···············································································································120

22 break문과 continue문 예제 ···················································································121

23 이름 붙은 반복문 ······································································································122

24 이름 붙은 반복문 예제 ·····························································································123

연 습 문 제 ·························································································································125

Chapter 5. 배열

01 배열이란? ·················································································································130

02 배열의 선언과 생성 ···································································································131

03 배열의 인덱스 ···········································································································132

04 배열의 길이(배열이름.length) ··················································································133

05 배열의 초기화 ···········································································································134

06 배열의 출력 ···············································································································135

07 배열의 출력 예제 ······································································································136

08 배열의 활용(1) – 총합과 평균 ·················································································137

09 배열의 활용(2) – 최대값과 최소값 ··········································································138

10 배열의 활용(3) – 섞기(shuffle) ···············································································139

11 배열의 활용(4) - 로또 번호 만들기 ··········································································140

12 String배열의 선언과 생성 ························································································141

13 String배열의 초기화 ·································································································142

14 String클래스 ·············································································································143

15 String클래스의 주요 메서드 ·····················································································144

16 커맨드 라인을 통해 입력받기 ···················································································145

17 이클립스에서 커맨드라인 매개변수 입력하기 ··························································146

18 2차원 배열의 선언 ····································································································147

19 2차원 배열의 인덱스 ·································································································148

20 2차원 배열의 초기화 ·································································································149

21 2차원 배열의 초기화 예제1 ·····················································································150

22 2차원 배열의 초기화 예제2 ·····················································································151

23 2차원 배열의 초기화 예제3 ·····················································································152

24 Arrays로 배열 다루기 ······························································································153

연 습 문 제 ·························································································································154

Chapter 6. 객체지향 프로그래밍 I

01 객체지향 언어 ···········································································································160

02 클래스와 객체 ···········································································································161

03 객체의 구성요소 – 속성과 기능 ··············································································162

04 객체와 인스턴스 ·········································································································163

05 한 파일에 여러 클래스 작성하기 ··············································································164

06 객체의 생성과 사용 ···································································································165

07 객체의 생성과 사용 예제 ··························································································168

08 객체배열 ····················································································································169

09 클래스의 정의(1) – 데이터와 함수의 결합 ······························································170

10 클래스의 정의(2) – 사용자 정의 타입 ·····································································171

11 선언위치에 따른 변수의 종류 ···················································································173

12 클래스 변수와 인스턴스 변수 ···················································································174

13 클래스 변수와 인스턴스 변수 예제 ··········································································175

14 메서드란? ················································································································176

15 메서드의 선언부 ········································································································177

16 메서드의 구현부 ········································································································178

17 메서드의 호출 ···········································································································179

18 메서드의 실행 흐름 ···································································································180

19 메서드의 실행 흐름 예제 ···························································································181

20 return문 ····················································································································182

21 반환값 ·······················································································································183

22 호출스택(call stack) ································································································184

23 기본형 매개변수 ········································································································185

24 참조형 매개변수 ········································································································186

25 참조형 반환타입 ······································································································187

26 static 메서드와 인스턴스 메서드 ·············································································188

27 static 메서드와 인스턴스 메서드 예제 ····································································189

28 static을 언제 붙여야 할까? ·······················································································190

29 메서드 간의 호출과 참조 ··························································································191

30 오버로딩(overloading) ····························································································192

31 오버로딩(overloading) 예제 ···················································································194

32 생성자(constructor) ·······························································································195

33 기본 생성자(default constructor) ·········································································196

34 매개변수가 있는 생성자 ···························································································198

35 매개변수가 있는 생성자 예제 ···················································································199

36 생성자에서 다른 생성자 호출하기 - this( ) ······························································200

37 객체 자신을 가리키는 참조변수 - this ···································································202

38 변수의 초기화 ···········································································································203

39 멤버변수의 초기화 ···································································································204

40 멤버변수의 초기화 예제1 ·························································································205

41 멤버변수의 초기화 예제2 ·························································································206

연 습 문 제 ·························································································································207

Chapter 7. 객체지향 프로그래밍 Ⅱ

01 상속 ···························································································································222

02 상속 예제 ··················································································································224

03 클래스 간의 관계 – 포함관계 ··················································································225

04 클래스 간의 관계 결정하기 ·····················································································226

05 단일 상속(single inheritance) ················································································227

06 Object클래스 – 모든 클래스의 조상 ······································································228

07 오버라이딩(overriding) ····························································································229

08 오버라이딩의 조건 ····································································································230

09 오버로딩 vs. 오버라이딩 ··························································································231

10 참조변수 super ········································································································232

11 super( ) – 조상의 생성자 ·······················································································233

12 패키지(package) ·····································································································234

13 패키지의 선언 ···········································································································235

14 클래스 패스(classpath) ···························································································236

15 import문 ···················································································································237

16 static import문 ·······································································································238

17 제어자(modifier) ·······································································································239

18 static – 클래스의, 공통적인 ···················································································240

19 final – 마지막의, 변경될 수 없는 ··········································································241

20 abstract – 추상의, 미완성의 ··················································································242

21 접근 제어자(access modifier) ················································································243

22 캡슐화와 접근 제어자 ·······························································································244

23 다형성(polymorphism) ·····························································································246

24 참조변수의 형변환 ·····································································································248

25 참조변수의 형변환 예제 ···························································································249

26 instanceof 연산자 ····································································································250

27 매개변수의 다형성 ·····································································································251

28 매개변수의 다형성 예제 ···························································································253

29 여러 종류의 객체를 배열로 다루기 ··········································································254

30 여러 종류의 객체를 배열로 다루기 예제 ·································································255

31 추상 클래스(abstract class) ···················································································257

32 추상 메서드(abstract method) ···············································································258

··················································································268

41 디폴트 메서드와 static메서드 예제 ·········································································269

42 내부 클래스(inner class) ·························································································270

43 내부 클래스의 종류와 특징 ······················································································271

44 내부 클래스의 선언 ···································································································272

45 내부 클래스의 제어자와 접근성 ···············································································273

46 내부 클래스의 제어자와 접근성 예제1 ····································································274

47 내부 클래스의 제어자와 접근성 예제2 ·····································································275

48 내부 클래스의 제어자와 접근성 예제3 ····································································276

49 내부 클래스의 제어자와 접근성 예제4 ····································································277

50 내부 클래스의 제어자와 접근성 예제5 ····································································278

51 익명 클래스(anonymous class) ·············································································279

52 익명 클래스(anonymous class) 예제 ····································································280

연 습 문 제 ·························································································································281

Chatper 8. 예외처리

01 프로그램 오류 ···········································································································292

02 예외 클래스의 계층구조 ···························································································293

03 Exception과 RuntimeException ···········································································294

04 예외 처리하기 – try - catch문 ·················································································295

05 try - catch문에서의 흐름 ··························································································296

06 예외의 발생과 catch블럭 ·························································································297

07 printStackTrace( )와 getMessage( ) ····································································299

08 멀티 catch블럭 ········································································································300

09 예외 발생시키기 ········································································································301

10 checked예외, unchecked예외 ·············································································302

11 메서드에 예외 선언하기 ···························································································303

12 메서드에 예외 선언하기 예제1 ················································································304

13 메서드에 예외 선언하기 예제2 ················································································305

14 finally블럭 ·················································································································306

15 사용자 정의 예외 만들기 ··························································································307

16 사용자 정의 예외 만들기 예제 ·················································································308

17 예외 되던지기(exception re - throwing) ································································310

18 연결된 예외(chained exception) ···········································································312

19 연결된 예외(chained exception) 예제 ··································································314

연 습 문 제 ·························································································································316

Chapter 9. java.lang패키지와유용한 클래스

01 Object클래스 ············································································································324

02 Object클래스의 메서드 - equals( ) ········································································325

03 equals( )의 오버라이딩 ····························································································326

04 Object클래스의 메서드 - hashCode( ) ··································································327

05 Object클래스의 메서드 - toString( ) ······································································328

06 toString( )의 오버라이딩 ··························································································329

07 String클래스 ·············································································································330

08 문자열(String)의 비교 ·······························································································331

09 문자열 리터럴(String리터럴) ····················································································332

10 빈 문자열(empty string) ··························································································333

11 String클래스의 생성자와 메서드 ·············································································334

12 join( )과 StringJoiner ······························································································337

13 문자열과 기본형 간의 변환 ······················································································338

14 문자열과 기본형 간의 변환 예제 ··············································································339

15 StringBuffer클래스 ··································································································340

16 StringBuffer의 생성자 ·····························································································341

17 StringBuffer의 변경 ·································································································342

18 StringBuffer의 비교 ·································································································343

19 StringBuffer의 생성자와 메서드 ··············································································344

20 StringBuffer의 생성자와 메서드 예제 ·····································································346

21 StringBuilder ···········································································································347

22 Math클래스 ···············································································································348

23 Math의 메서드 ··········································································································349

24 Math의 메서드 예제 ·································································································350

25 래퍼(wrapper) 클래스 ······························································································351

26 래퍼(wrapper) 클래스 예제 ·····················································································352

27 Number클래스 ·········································································································353

28 문자열을 숫자로 변환하기 ························································································354

29 문자열을 숫자로 변환하기 예제 ···············································································355

30 오토박싱 & 언박싱 ····································································································356

31 오토박싱 & 언박싱 예제 ···························································································357

연 습 문 제 ·························································································································358

Chapter 10. 날짜와 시간 & 형식화

01 날짜와 시간 ···············································································································366

02 Calendar클래스 ·······································································································367

03 Calendar 예제1 ······································································································368

04 Calendar 예제2 ······································································································370

05 Calendar 예제3 ······································································································371

06 Calendar 예제4 ······································································································372

07 Calendar 예제5 ······································································································373

08 Date와 Calendar간의 변환 ·····················································································374

09 형식화 클래스 ···········································································································375

10 DecimalFormat ·······································································································376

11 DecimalFormat 예제1 ····························································································377

12 DecimalFormat 예제2 ····························································································378

13 SimpleDateFormat ·································································································379

14 SimpleDateFormat 예제1 ······················································································380

15 SimpleDateFormat 예제2 ······················································································381

16 SimpleDateFormat 예제3 ······················································································382

연 습 문 제 ·························································································································383

Chapter 11. 컬렉션 프레임웍

01 컬렉션 프레임웍 ········································································································388

02 컬렉션 프레임웍의 핵심 인터페이스 ········································································389

03 Collection인터페이스 ································································································390

04 List인터페이스 ··········································································································391

05 Set인터페이스 ··········································································································392

06 Map인터페이스 ········································································································393

07 ArrayList ··················································································································394

08 ArrayList의 메서드 ··································································································395

09 ArrayList 예제 ·········································································································396

10 ArrayList의 추가와 삭제 ··························································································398

11 Java API소스보기 ····································································································399

12 LinkedList ················································································································400

13 LinkedList의 추가와 삭제 ·······················································································401

14 ArrayList와 LinkedList의 비교 ···············································································402

15 Stack과 Queue ·····························································

더보기

배송

- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.

상품 품절

- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.

주문취소/변경

- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.

반품/교환

- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.

반품/교환 불가 사유

- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

소비자 피해보상 환불 지연에 따른 배상

- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.

Copyright © 2022 이츠북. All Rights Reserved.