● 지은이: 이상민
● 페이지: 428
● 판형: 188 * 257
● 도수: 2도
● 정가: 35,000원
● 발행일: 2023년 10월 16일
● ISBN: 979-11-93229-02-6 93000
[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]
_도서 내용
이 책은 <자바의 신> VOL.1 기초 입문서를 배운 독자가 개발을 하면서 좀더 심화한 API를 활용해야 할 때 제대로 활용할 수 있는 법을 담았다. 내용 구석구석 NAVER, NHN, SKPlanet 등에서 성능 전문가의 풍부한 경험이 녹아 있다. 수십 년 간 버전 업이 지속되는 자바의 주요 API를 버전에 맞게 어떻게 활용할 수 있는지 노하우를 얻을 수 있을 것이다.
_대상 독자
Q. 자바 개발자로 일하고 싶은데, 무엇을 어떻게 시작해야 할까요?
A: 우선 VOL.1을 마스터하세요. 연습문제를 반드시 풀어봐야 합니다.
Q. 현업에서 개발자로 일하고 있지만, 나의 개발 방식이 가끔 맞는 것인지 헷갈릴 때가 있어요.
A: VOL.1을 건너 뛰고 VOL.2를 학습해도 됩니다. 레퍼런스로 찾아서 필요한 부분만 읽어도 됩니다.
Q. 개발자는 아니지만, 개발자들과 소통할 일이 많아요.
A: VOL.1만 공부해도 충분합니다. 개념을 익히는 데 많은 도움을 받을 수 있어요.
_목차
머리말
이렇게 학습하세요
감수자 & 베타리더의 글
1장. 이쯤에서 자바의 역사와 JVM에 대해서 알아보자
자바의 역사
JDK의 플랫폼에 따른 차이
JDK, J2SE, Java SE 외에 자바에서 사용되는 다른 용어들
자바언어의 특징은 다음과 같다
자바의 버전별 차이
JIT 컴파일러는 도대체 뭘까?
HotSpot은 또 뭐야?
자바를 배우면 꼭 알아야 하는 용어
자바의 GC는 어떻게 진행되나요?
정리하며
2장. 가장 많이 쓰는 패키지는 자바랭
java.lang 패키지는 특별하죠
숫자를 처리하는 클래스들
각종 정보를 확인하기 위한 System 클래스
System.out을 살펴보자
정리하며
직접해 봅시다
정리해 봅시다
3장. 실수를 방지하기 위한 제네릭이라는 것도 있어요
실수를 방지할 수 있도록 도와주는 제네릭
제네릭이 뭐지?
제네릭 타입의 이름 정하기
제네릭에 ?가 있는 것은 뭐야?
제네릭 선언에 사용하는 타입의 범위도 지정할 수 있다
메소드를 제네릭하게 선언하기
정리하며
직접해 봅시다
정리해 봅시다
4장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part1(List)
자바 컬렉션
List 인터페이스와 그 동생들
ArrayList에 대해서 파헤쳐보자
ArrayList의 생성자는 3개다
ArrayList에 데이터를 담아보자
ArrayList에서 데이터를 꺼내자
ArrayList에 있는 데이터를 삭제하자
Stack 클래스는 뭐가 다른데?
정리하며
직접해 봅시다
정리해 봅시다
5장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part2(Set과 Queue)
Set이 왜 필요하지?
HashSet에 대해서 파헤쳐 보자
HashSet의 생성자들도 여러 종류가 있다
HashSet의 주요 메소드를 살펴보자
Queue는 왜 필요할까?
LinkedList를 파헤쳐보자
LinkedList의 생성자와 주요 메소드를 살펴보자
정리하며
직접해 봅시다
정리해 봅시다
6장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part3(Map)
Map이란?
Map을 구현한 주요 클래스들을 살펴보자
HashMap 클래스에 대해서 자세히 알아보자
HashMap 객체에 값을 넣고 확인해보자
HashMap 객체의 값을 확인하는 다른 방법들을 알아보자
정렬된 키의 목록을 원한다면 TreeMap을 사용하자
Map을 구현한 Properties 클래스는 알아두면 편리하다
자바의 자료 구조를 정리해보자
정리하며
직접해 봅시다
정리해 봅시다
7장. 쓰레드는 개발자라면 알아두는 것이 좋아요
쓰레드가 도대체 뭘까?
Runnable 인터페이스와 Thread 클래스
Thread 클래스의 생성자를 살펴보자.
많이 사용되는 sleep( ) 메소드에 대해서 살펴보자
Thread 클래스의 주요 메소드를 살펴보자
쓰레드와 관련이 많은 synchronized
synchronized 블록은 이렇게 사용한다
쓰레드를 통제하는 메소드들
Object 클래스에 선언된 쓰레드와 관련있는 메소드들
ThreadGroup에서 제공하는 메소드들
정리하며
직접해 봅시다
정리해 봅시다
8장. 파일에 있는 것을 읽고 쓰려면 아이오를 알아야죠
I/O는…
자바의 File과 Files 클래스
File 클래스를 이용하여 파일의 경로와 상태를 확인해 보자
File 클래스를 이용하여 파일을 처리하자
디렉터리에 있는 목록을 살펴보기 위한 list 메소드들
InputStream과 OutputStream은 자바 스트림의 부모들이다
Reader와 Writer
텍스트 파일을 써보자
텍스트 파일을 읽어보자
정리하며
직접해 봅시다
정리해 봅시다
9장. Serializable과 NIO도 살펴 봅시다
Serializable에 대해서 좀 살펴보자
객체를 저장해보자
객체를 읽어보자
transient라는 예약어는 Serializable과 떨어질 수 없는 관계다
자바 NIO란?
NIO의 Buffer 클래스
정리하며
정리해 봅시다
10장. 다른 서버로 데이터를 보내려면 어떻게 하면 되나요?
네트워크 프로그래밍이란?
소켓 통신을 하기 위해서 알아야 하는 Socket 클래스
간단하게 소켓 통신을 해보자
UDP 통신을 위해서 알아야 하는 Datagram 관련 클래스
간단하게 UDP 통신을 해보자
자바에서 웹 페이지 요청을 하려면 어떻게 해야 하지?
정리하며
직접해 봅시다
정리해 봅시다
11장. 이제 주요 API도 알아봤으니 정리해 봅시다
자바의 예약어들
제네릭
쓰레드
자바 API에서 제공하는 자료 구조와 Collection
Collection-List 인터페이스
Collection-Set 인터페이스
Collection-Queue 인터페이스
Collection-Map 인터페이스
IO 관련 클래스들
네트워크 관련 클래스들
정리하며
<자바의 신> 기말고사
<자바의 신> 기말 실습문제
12장. Java 7에서 달라진 것들에는?
Java 7에서는…
달라진 숫자 표현법!!!
switch 문장도 좀 확장되었대요
제네릭은 다이아몬드를 쓰면 쉬워요
Non reifiable varargs 타입
예외도 이렇게 보완 되었답니다
Java 7부터는 꼭 안닫아도 되는 애들이 있어요
정리하며
정리해 봅시다
13장. Java 7에 추가된 것들에는?
Fork/Join은 CPU를 더 쉽게, 효율적으로 사용하기 위해서 만들어진 거에요
NIO도 잘 모르는데 NIO 2가 나왔다
Files 클래스는 파일을 다루기 위한 클래스랍니다
파일이 변경되었는지 확인하는 WatchService 클래스도 추가되었어요
파일과 관련된 다른 새로운 API에는 어떤 것들이 있을까?
Fork/Join과 NIO2 외에 추가 및 변경된 것들을 간단히 살펴보죠
정리하며
정리해 봅시다
14장. Java 8에 추가된 것들은?
Java 8의 새로운 것들
Optional
Default method
날짜 관련 클래스들
병렬 배열 정렬(Parallel array sorting)
StringJoiner
정리하며
15장. Java 8에서 변경된 것들은?
Lambda 표현식(expression)
java.util.function 패키지
stream
stream forEach( )
메소드 참조
stream map( )
stream filter( )
Stream을 다시 한번 정리해 보자
정리하며
16장. Java 9에서 변경된 것들은?
Java의 변경된 정책은 꼭 알아야 해요.
Java 버전별 추가된 사항은 어디서 확인해야 할까?
Java 9에서 추가되거나 달라진 것들은?
Java 9부터 변경된 String 클래스
Interface의 private 메소드를 추가할 수 있다
새로운 HTTP 클라이언트를 쓰면 뭐가 좋을까?
Publish–Subscribe 프레임워크
자바의 모듈화–직소 프로젝트
정리하며
17장. Java 10에서는 무엇이 달라졌을까?
Java 10에서 추가되거나 달라진 기능들은?
타입을 일일이 입력하기 귀찮다면 var를 사용해도 된다.
수정 불가능한 Collection
정리하며
18장. Java 11은 얼마나 달라졌을까?
Oracle JDK의 유료화
Java 11에 추가되거나 개선된 기능들은?
컴파일 없이 java 파일의 실행하는 방법은?
Lambda에서 var 사용해보기
정리하며
19장. Java 12~17 버전을 살펴보자
Java 12에 추가되거나 개선된 기능들은?
java 13에 추가되거나 개선된 기능들은?
Java 14에 추가되거나 개선된 기능들은?
Java 15에 추가되거나 개선된 기능들은?
Java 16에 추가되거나 개선된 기능들은?
Java 17에 추가되거나 개선된 기능들은 ?
switch–case 문이 좀 달라졌어요.
따옴표 세개를 연달아 쓰면 text 블록을 사용할 수 있어요.
record 클래스가 뭔가요?
sealed 클래스는 어디에 사용하는 것인가요?
정리하며
찾아보기
<VOL.1의 주요 목차 요약>
1장. 프로그래밍이란 무엇인가?
2장. Hello God Of Java
3장. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요
4장. 정보를 어디에 넣고 싶은데
5장. 계산을 하고 싶어요
6장. 제가 조건을 좀 따져요
7장. 여러 데이터를 하나에넣을 수는 없을까요?
8장. 참조 자료형에 대해서 더 자세히 알아봅시다
9장. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요
10장. 자바는 상속이라는 것이 있어요
11장. 매번 만들기 귀찮은데 누가 만들어 놓은 거 쓸 수 없나요?
12장. 모든 클래스의 부모 클래스는 Object에요
13장. 인터페이스와 추상클래스, enum
14장. 다 배운 것 같지만, 예외라는 중요한 것이 있어요
15장.String
16장. 클래스 안에 클래스가 들어갈 수도 있구나
17장. 어노테이션이라는 것도 알아야 한다
18장. 이제 기본 문법은 거의 다 배웠으니 정리해 봅시다
<자바의 신> 중간 점검 및 실습
_주요 내용
[3판의 주요 변경사항]
최근 자바의 버전은 급격하게 변합니다. 6개월에 버전이 1씩 증가하는데, 회사에서 사용하는 자바의 버전은 프로젝트가 시작될 때 가장 최신 버전에 머물러 있는 경우가 많습니다. 그래서 <자바의 신> 3판에서는 최신 자바 버전에서 달라진 부분에 대해서 최대한 신입 및 기존 개발자분들이 쉽게 이해할 수 있도록 작성하였습니다. <자바의 신> 2판을 쓸 때인 2017년에는 최신 버전이 Java 8이었지만 지금은 Java 20이 가장 최신 버전이며, 장기 지원 버전인 Java 21은 올해 출시될 예정입니다. 왜 이렇게 버전 번호가 급격하게 올라갔는지는 본문에서 확인할 수 있습니다.
이 책은 VOL.2로 주요 API 활용법을 다루고 있습니다.
VOL.1이 기초 문법을 다루었다면, VOL.2에서는 개발 현장에 많이 활용하는 주요 API가 무엇이고 어떻게 쓰이는지를 다룹니다.
가장 신경 쓴 점은 “생각하는 습관”을 갖도록 하는 데 있습니다.
이 책에는 “생각해 봅시다”라는 쉬어가는 코너가 아주 자주 등장합니다. 이 코너에서는 독자에게 화두를 던지고 그에 대해 짧게는 1분에서 길게는 10분까지 생각해볼 수 있도록 하였습니다. 이를 통해 현업에서 개발자로 성장했을 때 단순 코더가 아니라 생각하는 코더가 될 수 있도록 세심하게 배려하였습니다.
연습문제에 심혈을 기울였습니다.
문제를 풀어보는 것만큼 실력을 높일 수 있는 지름길은 없습니다. 서술형 문제에서는 이미 학습한 내용을 잘 기억하고 있는지 테스트할 수 있습니다. 실습 문제에서는 작은 단위의 프로그램을 만들어보면서 프로그램 짜는 능력을 쑥쑥 키워갈 수 있습니다.
VOL.1 & VOL.2 공통 온라인 특별판 PDF 무료 제공
1장. 저는 이런 것 말고 웹 페이지를 만들고 싶었다구요
2장. 그럼 데이터를 저장하려면 어떻게 해야 하는데요?
부록 1. Tomcat 설치하기
부록 2. JSP와 web.xml 추가 설명
부록 3. SQL 기초와 JDBC 타입
부록 4. GUI 도구인 JavaFX
부록 5. JavaFX로 계산기를 만들어보자
부록 6. 자바 설치 가이드
[다운로드 링크]
* cafe.naver.com/godofjava
<자바의 신> 사이트에서 연습문제도 직접 풀어보고 정답을 확인하세요.
https://sites.google.com/view/godofjava3rd/
<자바의 신> 네이버 카페에서 공부하다 막히면 문의하면서 학습하세요.
https://cafe.naver.com/godofjava
예제 소스는 깃허브에서 별도로 제공됩니다.
https://github.com/godofjava/GodOfJava3rd
_편집자 코멘트
편집자인 저도 원고의 초고를 보면서 연습문제를 직접 풀어보았습니다. 사실 삽질을 되게 많이 했습니다. “어디서 에러가 나는 거지?” “앞에서 이런 부분을 설명했나?” “아~ 내가 이런 부분을 이해하지 못하고 넘어갔구나” 하면서, 교정 시간은 더디게 갔지만, 훨씬 자바라는 언어에 더 가까워질 수 있었습니다.
이 책의 베타리뷰어로 참여했던 분들도 비슷한 경험을 하였습니다. 이 책은 21명의 베타리뷰어가 리뷰를 하였습니다. 디지털 파일이 아니라 모든 분들께 일일이 제본된 책자가 제공되었습니다. 실제 독자가 학습하는 방식 그대로를 재현하면서 어디에서 막히는지, 문제점은 없는지를 발견하고 이를 책에 반영하였습니다. 상당히 까다롭고 귀찮은 작업이었지만, 기본서의 중요성에 비추어 볼 때 이 정도의 투자는 해야 한다고 생각했습니다.
이 책에 참여해주신 21명의 베타 리뷰어와 좋은 기본서를 만들어준 저자에게 진심으로 감사를 드립니다.
_저자 소개
삼성 SDS에서 개발을 시작하여 NAVER, NHN, SK Planet에서 개발자 및 엔지니어로 일해왔다. 『자바 성능 튜닝 이야기』, 『자바 트러블슈팅』, 『누가 IT 시장 취업에 성공하는가』 등 다수의 IT 서적을 집필하였다. 현재는 서비스 개선 및 개발자 역량 향상에 힘쓰며 CTO 역할을 수행하고 있다.
_상세 이미지
_끝
'신간소개' 카테고리의 다른 글
[신간안내] 백견불여일타(이젠 프로젝트다!)리액트 쇼핑몰 프로젝트 (0) | 2024.04.16 |
---|---|
[신간안내] 시작하는 개발자들을 위한 기술 여행 가이드: 개발 지식을 높은 곳에서 한눈에 조망할 수 있는 책 (0) | 2023.11.06 |
[신간 안내] 자바의 신 VOL.1 기초 문법편, 3rd Edition (0) | 2023.10.13 |
[신간안내] 개발자로 첫 출근했어요: 사내 개발 도구, 기술, 문화 적응 가이드 (0) | 2023.09.27 |
[신간 안내] 리더의 세상 읽기: 지속적 성장을 위한 사람, 일, 사회에 관한 110가지 질문 (2) | 2023.06.27 |