Java의 정석 (3rd Edition)

Java의 정석 (3rd Edition)

$35.71
저자

남궁성

인하대학교에서물리학을전공하였으며삼성SDS에서첫직장생활을시작했다.삼성멀티캠퍼스에서자바를강의하였으며,여러직장을거쳐현재는프리랜서로집필과강의를하고있다.http://www.javachobo.com과http://cafe.naver.com/javachobostudy.cafe를운영하고있으며자바와책관련문의에직접답변해주고있다.대표저서로는『Java의정석』이있다.

목차

Chapter1자바를시작하기전에
1.자바(JavaProgrammingLanguage)/2
1.1자바란?/2
1.2자바의역사/2
1.3자바언어의특징/3
1.4JVM(JavaVirtualMachine)/4
2.자바개발환경구축하기/6
2.1자바개발도구(JDK)설치하기/6
2.2JavaAPI문서설치하기/7
3.자바로프로그램작성하기/8
3.1Hello.java/8
3.2자주발생하는에러와해결방법/11
3.3자바프로그램의실행과정/12
3.4주석(comment)/13
3.5이책으로공부하는방법/14

Chapter2변수(Variable)
1.변수와상수/20
1.1변수란?/20
1.2변수의선언과초기화/20
1.3변수의명명규칙/25
2.변수의타입/27
2.1기본형(primitivetype)/28
2.2상수와리터럴(constant&literal)/30
2.3형식화된출력-printf()/36
2.4화면에서입력받기-Scanner/40
3.진법/42
3.110진법과2진법/42
3.2비트(bit)와바이트(byte)/43
3.38진법과16진법/44
3.4정수의진법변환/46
3.5실수의진법변환/48
3.6음수의2진표현-2의보수법/50
4.기본형(primitivetype)/55
4.1논리형-boolean/55
4.2문자형-char/55
4.3정수형-byte,short,int,long/62
4.4실수형-float,double/68
5.형변환/74
5.1.형변환(캐스팅,casting)이란?/74
5.2형변환방법/74
5.3정수형간의형변환/75
5.4실수형간의형변환/77
5.5정수형과실수형간의형변환/80
5.6자동형변환/82

Chapter3연산자(Operator)
1.연산자(operator)/86
1.1연산자와피연산자/86
1.2식(式)과대입연산자/86
1.3연산자의종류/87
1.4연산자의우선순위와결합규칙/88
1.5산술변환(usualarithmeticconversion)/91
2.단항연산자/93
2.1증감연산자-++,--/93
2.2부호연산자-+,-/96
3.산술연산자/97
3.1사칙연산자-+,-,*,//97
3.2나머지연산자-%/108
4.비교연산자/109
4.1대소비교연산자-<,>,<=,>=/109
4.2등가비교연산자-==,!=/109
5.논리연산자/114
5.1논리연산자-&&,||,!/114
5.2비트연산자-&,|,^,~,<<,>>/121
6.그외의연산자/130
6.1조건연산자-?:/130
6.2대입연산자-=,op=/132

Chapter4조건문과반복문
1.조건문-if,switch/136
1.1if문/136
1.2if-else문/140
1.3if-elseif문/141
1.4중첩if문/144
1.5switch문/146
2.반복문-for,while,do-while/156
2.1for문/156
2.2while문/167
2.3do-while문/173
2.4break문/175
2.5continue문/176
2.6이름붙은반복문/178

Chapter5배열(Array)
1.배열(array)/182
1.1배열(array)이란?/182
1.2배열의선언과생성/183
1.3배열의길이와인덱스/184
1.4배열의초기화/189
1.5배열의복사/192
1.6배열의활용/196
2.String배열/205
2.1String배열의선언과생성/205
2.2String배열의초기화/205
2.3char배열과String클래스/208
2.4커맨드라인을통해입력받기/211
3.다차원배열/214
3.12차원배열의선언과인덱스/214
3.22차원배열의초기화/215
3.3가변배열/219
3.4다차원배열의활용/220

Chapter6객체지향프로그래밍I
1.객체지향언어/230
1.1객체지향언어의역사/230
1.2객체지향언어/230
2.클래스와객체/231
2.1클래스와객체의정의와용도/231
2.2객체와인스턴스/232
2.3객체의구성요소-속성과기능/233
2.4인스턴스의생성과사용/234
2.5객체배열/241
2.6클래스의또다른정의/242
3.변수와메서드/246
3.1선언위치에따른변수의종류/246
3.2클래스변수와인스턴스변수/247
3.3메서드/249
3.4메서드의선언과구현/252
3.5메서드의호출/254
3.6return문/258
3.7JVM의메모리구조/261
3.8기본형매개변수와참조형매개변수/264
3.9참조형반환타입/268
3.10재귀호출(recursivecall)/270
3.11클래스메서드(static메서드)와인스턴스메서드/278
3.12클래스멤버와인스턴스멤버간의참조와호출/280
4.오버로딩(overloading)/283
4.1오버로딩이란?/283
4.2오버로딩의조건/283
4.3오버로딩의예/283
4.4오버로딩의장점/285
4.5가변인자(varargs)와오버로딩/287
5.생성자(constructor)/291
5.1생성자란?/291
5.2기본생성자(defaultconstructor)/292
5.3매개변수가있는생성자/294
5.4생성자에서다른생성자호출하기-this(),this/295
5.5생성자를이용한인스턴스의복사/298

6.변수의초기화/300
6.1변수의초기화/300
6.2명시적초기화(explicitinitialization)/301
6.3초기화블럭(initializationblock)/302
6.4멤버변수의초기화시기와순서/304

Chapter7객체지향프로그래밍II
1.상속(inheritance)/310
1.1상속의정의와장점/310
1.2클래스간의관계-포함관계/316
1.3클래스간의관계결정하기/317
1.4단일상속(singleinheritance)/324
1.5Object클래스-모든클래스의조상/325
2.오버라이딩(overriding)/327
2.1오버라이딩이란?/327
2.2오버라이딩의조건/328
2.3오버로딩vs.오버라이딩/329
2.4super/330
2.5super()-조상클래스의생성자/332
3.package와import/336
3.1패키지(package)/336
3.2패키지의선언/337
3.3import문/340
3.4import문의선언/340
3.5staticimport문/342
4.제어자(modifier)/344
4.1제어자란?/344
4.2static-클래스의,공통적인/344
4.3final-마지막의,변경될수없는/345
4.4abstract-추상의,미완성의/347
4.5접근제어자(accessmodifier)/348
4.6제어자(modifier)의조합/353
5.다형성(polymorphism)/354
5.1다형성이란?/354
5.2참조변수의형변환/357
5.3instanceof연산자/362
5.4참조변수와인스턴스의연결/364
5.5매개변수의다형성/367
5.6여러종류의객체를배열로다루기/370
6.추상클래스(abstractclass)/375
6.1추상클래스란?/375
6.2추상메서드(abstractmethod)/376
6.3추상클래스의작성/377
7.인터페이스(interface)/381
7.1인터페이스란?/381
7.2인터페이스의작성/381
7.3인터페이스의상속/382
7.4인터페이스의구현/382
7.5인터페이스를이용한다중상속/385
7.6인터페이스를이용한다형성/387
7.7인터페이스의장점/390
7.8인터페이스의이해/397
7.9디폴트메서드와static메서드/401
8.내부클래스(innerclass)403
8.1내부클래스란?/403
8.2내부클래스의종류와특징/404
8.3내부클래스의선언/404
8.4내부클래스의제어자와접근성/405
8.5익명클래스(anonymousclass)/410

Chapter8예외처리(ExceptionHandling)
1.예외처리(exceptionhandling)/414
1.1프로그램오류/414
1.2예외클래스의계층구조/415
1.3예외처리하기-try-catch문/416
1.4try-catch문에서의흐름/420
1.5예외의발생과catch블럭/421
1.6예외발생시키기/425
1.7메서드에예외선언하기/427
1.8finally블럭/434
1.9자동자원반환-try-with-resources문/436
1.10사용자정의예외만들기/439
1.11예외되던지기(exceptionre-throwing)/442
1.12연결된예외(chainedexception)/444

Chapter9java.lang패키지와유용한클래스
1.java.lang패키지/450
1.1Object클래스/450
1.2String클래스/464
1.3StringBuffer클래스와StringBuilder클래스/477
1.4Math클래스/483
1.5래퍼(wrapper)클래스/490
2.유용한클래스/496
2.1java.util.Objects클래스/496
2.2java.util.Random클래스/500
2.3정규식(RegularExpression)-java.util.regex패키지/505
2.4java.util.Scanner클래스/510
2.5java.util.StringTokenizer클래스/514
2.6java.math.BigInteger클래스/518
2.7java.math.BigDecimal클래스/521

Chapter10날짜와시간&형식화
1.날짜와시간/528
1.1Calendar와Date/528

2.형식화클래스/540
2.1DecimalFormat/540
2.2SimpleDateFormat/544
2.3ChoiceFormat/548
2.4MessageFormat/549
3.java.time패키지/552
3.1java.time패키지의핵심클래스/552
3.2LocalDate와LocalTime/555
3.3Instant/560
3.4LocalDateTime과ZonedDateTime/561
3.5TemporalAdjusters/565
3.6Period와Duration/567
3.7파싱과포맷/572

Chapter11컬렉션프레임웍
1.컬렉션프레임웍(CollectionFramework)/578
1.1컬렉션프레임웍의핵심인터페이스/578
1.2ArrayList/584
1.3LinkedList/596
1.4Stack과Queue/604
1.5Iterator,ListIterator,Enumeration/614
1.6Arrays/624
1.7Comparator와Comparable/628
1.8HashSet/631
1.9TreeSet/638
1.10HashMap과Hashtable/644
1.11TreeMap/654
1.12Properties/658
1.13Collections/664
1.14컬렉션클래스정리&요약/667

Chapter12지네릭스,열거형,애너테이션
1.지네릭스(Generics)/670
1.1지네릭스란?/670
1.2지네릭클래스의선언/670
1.3지네릭클래스의객체생성과사용/674
1.4제한된지네릭클래스/676
1.5와일드카드/678
1.6지네릭메서드/684
1.7지네릭타입의형변환/687
1.8지네릭타입의제거/689
2.열거형(enums)/691
2.1열거형이란?/691
2.2열거형의정의와사용/692
2.3열거형에멤버추가하기/695
2.4열거형의이해/698

3.애너테이션(annotation)/702
3.1애너테이션이란?/702
3.2표준애너테이션/703
3.3메타애너테이션/711
3.4애너테이션타입정의하기/715

Chapter13쓰레드(Thread)
1.프로세스와쓰레드/722
2.쓰레드의구현과실행/724
3.start()와run()/728
4.싱글쓰레드와멀티쓰레드/732
5.쓰레드의우선순위/738
6.쓰레드그룹(threadgroup)/741
7.데몬쓰레드(daemonthread)/744
8.쓰레드의실행제어/748
9.쓰레드의동기화/767
9.1synchronized를이용한동기화/767
9.2wait()과notify()/771
9.3Lock과Condition을이용한동기화/779
9.4volatile/786
9.5fork&join프레임웍/788

Chapter14람다와스트림
1.람다식/794
1.1람다식이란?/794
1.2람다식작성하기/795
1.3함수형인터페이스(FunctionalInterface)/797
1.4java.util.function패키지/803
1.5Function의합성과Predicate의결합/809
1.6메서드참조/813
2.스트림(stream)/815
2.1스트림이란?/815
2.2스트림만들기/819
2.3스트림의중간연산/824
2.4Optional와OptionalInt/837
2.5스트림의최종연산/842
2.6collect()/846
2.7Collector구현하기/862
2.8스트림의변환/864

Chapter15입출력(I/O)
1.자바에서의입출력/868
1.1입출력이란?/868
1.2스트림(stream)/868
1.3바이트기반스트림-InputStream,OutputStream/869
1.4보조스트림/871
1.5문자기반스트림-Reader,Writer/872
2.바이트기반스트림/874
2.1InputStream과OutputStream/874
2.2ByteArrayInputStream과ByteArrayOutputStream/875
2.3FileInputStream과FileOutputStream/879
3.바이트기반의보조스트림/882
3.1FilterInputStream과FilterOutputStream/882
3.2BufferedInputStream과BufferedOutputStream/883
3.3DataInputStream과DataOutputStream/886
3.4SequenceInputStream/892
3.5PrintStream/894
4.문자기반스트림/898
4.1Reader와Writer/898
4.2FileReader와FileWriter/899
4.3PipedReader와PipedWriter/901
4.4StringReader와StringWriter/903
5.문자기반의보조스트림/904
5.1BufferedReader와BufferedWriter/904
5.2InputStreamReader와OutputStreamWriter/905
6.표준입출력과File/907
6.1표준입출력-System.in,System.out,System.err/907
6.2표준입출력의대상변경-setOut(),setErr(),setIn()/909
6.3RandomAccessFile/911
6.4File/915
7.직렬화(Serialization)/934
7.1직렬화란?/934
7.2ObjectInputStream과ObjectOutputStream/935
7.3직렬화가가능한클래스만들기-Serializable,transient/937
7.4직렬화가능한클래스의버전관리/943

Chapter16네트워킹(Networking)
1.네트워킹(Networking)/946
1.1클라이언트/서버(client/sever)/946
1.2IP주소(IPaddress)/948
1.3InetAddress/949
1.4URL(UniformResourceLocation)/951
1.5URLConnection/954
2.소켓프로그래밍/959
2.1TCP와UDP/959
2.2TCP소켓프로그래밍/960
2.3UDP소켓프로그래밍/978

출판사 서평

자바프로그래머로써반드시알아야하는것을모두담은책

저자의오랜실무경험과강의그리고12년간온라인카페(네이버대표카페)를운영하면서강의한내용을책으로엮은것이기때문에자바를처음배우는회원들의의견과궁금한점들을빠짐없이담고있다.그래서자바를시작하는사람들의입장에서쓴책이라할수있다.

자바를소개하는데그치지않고프로그래머로써꼭알아야하는내용들을체계적으로정리하였으며200페이지에달하는지면을객체지향개념에할애함으로써이책한권이면객체지향개념을완전히이해할수있도록원리중심으로설명하고있다.

뿐만아니라자바의최신기능인람다와스트림을상세히소개하고있으며,그밖에자바의최신버젼인Java8의새로운기능들을자세히설명하고있다.

그밖에도다른서적들이소홀히다루는지네릭스(generics),애너테이션(annotation),쓰레드(thread)와같은부분도기초부터응용까지상세히다룰수있다.

저자가직접인터넷카페를통해동영상강좌를지속적으로업데이트하여제공하고질문게시판을운영하기때문에독자들이혼자서도충분히학습할수있도록다방면으로배려하고있다.

이처럼철저하게독자의입장에서생각하고독자를배려하는마음과노력이느껴지는책이다.

그외에도2판에서부족했던설명과그림,예제들을보충하고오타를거의찾아보기힘들정도로정성들여점검하였다.

-Java의정석1판의부족한부분(그림,예제,설명,오타)을개선하였습니다.
-각장(chapter)마다연습문제를추가하였습니다.
-동영상강좌를무료로제공합니다.
-동영상강의에사용된발표자료(ppt)를'강의발표자료'(p.234)를부록으로드립니다.
-문답게시판을통해책관련질문을상세히답변해드립니다.