신간소개 2023. 10. 13. 11:21

 

  ● 지은이: 이상민

  ● 페이지: 644

  ● 판형: 188 * 257

  ● 도수: 2도

  ● 정가: 30,000원

  ● 발행일: 2023년 10월 16일

  ● ISBN: 979-11-93229-01-9 93000

 

[오탈자 사이트 [자료실] 

[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]

 

_도서 내용

현장 전문가가 쓴 자바 기초 입문서다. NAVER, NHN, SKPlanet 등에서 성능 전문가의 풍부한 경험을 바탕으로 자바를 실무에 맞게 제대로 쓸 줄 알게 해주는 입문서를 목표를 만들었다. 현장 중심형 자바 기초 문법서다. 혼자 공부하는 독자를 위해 연습문제를 직접 풀고 제출하여 모법답안을 확인할 수 있는 시스템을 구축하였고 독자 서비스를 위해 <자바의 신> 카페를 10년 넘게 운영하고 있다. 3판에서는 Java 9부터 지원되는 jshell로 본문의 모든 예제를 실행해보면서 복습해볼 수 있도록 하였다.

 

_대상 독자

Q. 자바 개발자로 일하고 싶은데, 무엇을 어떻게 시작해야 할까요?

A: 우선 VOL.1을 마스터하세요. 연습문제를 반드시 풀어봐야 합니다.

 

Q. 현업에서 개발자로 일하고 있지만, 나의 개발 방식이 가끔 맞는 것인지 헷갈릴 때가 있어요.

A: VOL.1을 건너 뛰고 VOL.2를 학습해도 됩니다. 레퍼런스로 찾아서 필요한 부분만 읽어도 됩니다.

Q. 개발자는 아니지만, 개발자들과 소통할 일이 많아요.

A: VOL.1만 공부해도 충분합니다. 개념을 익히는 데 많은 도움을 받을 수 있어요.

 

_목차

 

머리말

이렇게 학습하세요

자바의 신 샘플 실행기 가이드

감수자 & 베타리더의 글

 

1. 프로그래밍이란 무엇인가?

Programming P

자바 프로그램의 메소드는 이렇게 이렇게 생겼어요

자바의 가장 작은 단위는 클래스랍니다

클래스는 상태를 갖고 있어야 합니다

프로그램의 가장 기본은 =를 이해하는 것

한 줄을 의미하는 세미콜론

모든 프로그래밍 언어에는 예약어라는 것이 있어요

정리하며

 

2. Hello God Of Java

자바를 배울 환경 준비하기

HelloGodOfJava 만들기

HelloGodOfJava 컴파일하고 실행하기

main 메소드를 만들자

System.out.println( ) System.out.print( )

주석(Comment) 처리하기

메소드를 직접 만들어 보자

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

3. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요

자바는 객체지향 언어라고 해요

클래스와 객체는 구분하셔야 해요

Car 클래스를 구현하자

계산기 클래스를 만들어보자

Calculator 객체를 생성해보자

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

4. 정보를 어디에 넣고 싶은데

자바에서는 네 가지의 변수가 존재해요

예제를 통해서 지역 변수를 확실히 익히자

변수 이름은 이렇게

크게 보면 자바에는 두 가지 자료형이 있답니다

기본 자료형은 8개에요

8비트와 byte 타입

다른 정수형 타입들은 어떻게 활용하나?

소수점을 처리하고 싶어요

char boolean는 어떻게 쓰는 거지?

기본 자료형의 기본 값은 뭘까?

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

5. 계산을 하고 싶어요

연산자라는 게 뭐지? 벌써 조금 배웠다고?

간단하게 계산하는 복합 대입 연산자들

피연산자가 하나인 것도 있어요. 이걸 단항 연산자라고 하죠

자바에서 계산하는 순서를 알아두면 좋다

뭔가를 비교할 때는 어떻게 하지?

논리 연산자들을 알아보자

아주 특이한 ? : 연산자

기본 자료형의 형 변환을 이용한 변신

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

6. 제가 조건을 좀 따져요

도대체 얼마나 조건을 따지길래

if를 조금 더 다양하게 사용해보자

자바의 switch와 불켜는 스위치는 별 상관 없다

반복문이라구요?

가장 확실한 for 루프

많이 사용안하는 label

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

7. 여러 데이터를 하나에넣을 수는 없을까요?

하나에 많은 것을 담을 수 있는 배열이라는 게 있다는데

배열의 기본값

배열을 그냥 출력해보면 어떻게 나올까?

배열을 선언하는 또 다른 방법

별로 사용하지는 않지만, 알고 있어야 하는 2차원 배열

배열의 길이는 어떻게 알 수 있을까요?

배열을 위한 for 루프

자바 실행할 때 원하는 값들을 넘겨주자

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

8. 참조 자료형에 대해서 더 자세히 알아봅시다

참조 자료형은 나머지 다에요

기본 생성자

생성자는 몇 개까지 만들 수 있을까?

이 객체의 변수와 매개 변수를 구분하기 위한 this

메소드 overloading

꼭 기억하고 넘어가야 합니다

메소드에서 값 넘겨주기

static 메소드와 일반 메소드의 차이

static 블록

Pass by value, Pass by reference

매개 변수를 지정하는 특이한 방법

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

9. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요

패키지는 그냥 폴더의 개념이 아니에요

패키지 이름은 이렇게 지어요.

import를 이용하여 다른 패키지에 접근하기

자바의 접근 제어자

클래스 접근 제어자 선언할 때의 유의점

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

10. 자바는 상속이라는 것이 있어요

자바에서 상속이란?

상속과 생성자

메소드 Overriding

참조 자료형의 형 변환

Polymorphism

자식 클래스에서 할 수 있는 일들을 다시 정리해보자 317

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

11. 매번 만들기 귀찮은데 누가 만들어 놓은 거 쓸 수 없나요?

미리 만들어 놓은 클래스들은 아주 많아요

API를 열어보자

클래스 및 인터페이스의 상세 정보 화면을 살펴보자

Deprecated라고 표시되어 있는 것은 뭐야?

Header Footer에 있는 링크들은 뭘까?

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

12. 모든 클래스의 부모 클래스는 Object에요

모든 자바 클래스의 부모인 java.lang.Object 클래스

Object 클래스에서 제공하는 메소드들의 종류는?

Object 클래스에서 가장 많이 쓰이는 toString( ) 메소드

객체는 ==만으로 같은지 확인이 안 되므로, equals( )를 사용하죠

객체의 고유값을 나타내는 hashCode( )

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

13. 인터페이스와 추상클래스, enum

메소드 내용이 없는 interface

인터페이스를 직접 만들어보자

일부 완성되어 있는 abstract 클래스

나는 내 자식들에게 하나도 안 물려 줄꺼여

enum 클래스라는 상수의 집합도 있다

enum을 보다 제대로 사용하기

enum 클래스의 부모는 무조건 java.lang.Enum이어야 해요

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

14. 다 배운 것 같지만, 예외라는 중요한 것이 있어요

자바에서 매우 중요한 예외

try-catch는 짝이다

try-catch를 사용하면서 처음에 적응하기 힘든 변수 선언

finally~ 넌 무슨 일이 생겨도 반드시 실행해야 돼

두 개 이상의 catch

예외의 종류는 세 가지다

모든 예외의 할아버지는 java.lang.Throwable 클래스다

난 예외를 던질 거니까 throws라고 써 놓을께

내가 예외를 만들 수도 있다구?

자바 예외 처리 전략

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

15.String

자바에서 가장 많이 사용하는 String 클래스

String의 생성자에는 이런 것들이 있다

String 문자열을 byte로 변환하기

객체의 널 체크는 반드시 필요하답니다

String의 내용을 비교하고 검색하는 메소드들도 있어요

String내에서 위치를 찾아내는 방법은 여러 가지에요

String의 값의 일부를 추출하기 위한 메소드들은 얘네들이다

String 값을 바꾸는 메소드들도 있어요

절대로 사용하면 안 되는 메소드가 하나 있어요!!!!!

immutable String의 단점을 보완하는 클래스에는 StringBuffer StringBuilder가 있다

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

16. 클래스 안에 클래스가 들어갈 수도 있구나

클래스 안의 클래스

Static nested 클래스의 특징

내부 클래스와 익명 클래스

Nested 클래스의 특징은 꼭 알아야 한다

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

17. 어노테이션이라는 것도 알아야 한다

어노테이션이란?

미리 정해져 있는 어노테이션들은 딱 3개뿐

어노테이션을 선언하기 위한 메타 어노테이션

어노테이션을 선언해 보자

어노테이션에 선언한 값은 어떻게 확인하지?

어노테이션도 상속이 안돼요

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

18. 이제 기본 문법은 거의 다 배웠으니 정리해 봅시다

객체지향 개발과 관련된 용어들

자바의 주석문(Comment)

패키지와 import

자바에서 사용되는 타입의 종류

변수의 종류

계산을 쉽게 도와주는 연산자들

조건문들

반복문들

아무나 사용 못하게 막아주는 접근 제어자

선언할 때 사용할 수 있는 각종 제어자들

자바를 구성하는 클래스, 인터페이스, abstract 클래스

메소드의 선언

자주 사용하게 되는 상속

예외를 처리하자

Object 클래스

String 클래스

어노테이션을 선언할 때 사용하는 메타 어노테이션들

API의 기초

정리하며

직접해 봅시다

정리해 봅시다

jshell로 예제 실행해 보기

 

<자바의 신> 중간 점검 및 실습

 

부록 Part 1

1. Eclipes 설치하기

2. float double의 범위

3. 비트 연산자는 어떤 것일까

4. java.lang.Math 클래스

5. jshell

 

찾아보기

 

<VOL.2의 주요 목차 요약>

1. 이쯤에서 자바의 역사와 JVM에 대해서 알아보자

2. 가장 많이 쓰는 패키지는 자바랭

3. 실수를 방지하기 위한 제네릭이라는 것도 있어요

4. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part1(List)

5. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part2(Set Queue)

6. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 - Part3(Map)

7. 쓰레드는 개발자라면 알아두는 것이 좋아요

8. 파일에 있는 것을 읽고 쓰려면 아이오를 알아야죠

9. Serializable NIO도 살펴 봅시다

10. 다른 서버로 데이터를 보내려면 어떻게 하면 되나요?

11. 이제 주요 API도 알아봤으니 정리해 봅시다

 

<자바의 신> 기말고사

<자바의 신> 기말 실습문제

 

13. Java 7에 추가된 것들에는?

14. Java 8에 추가된 것들은?

15. Java 8에서 변경된 것들은?

16. Java 9에서 변경된 것들은?

17. Java 10에서는 무엇이 달라졌을까?

18. Java 11은 얼마나 달라졌을까?

19. Java 12~17 버전을 살펴보자

 

_주요 내용

[3판의 주요 변경사항]

_2판에서 추가된 Java FX 관련 내용을 제외하여 온라인 PDF 특별판으로 제공

_각 장의 마지막에 본문에서 다룬 예제를 jshell로 쉽게 다시 한번 실행해보며 복습하는 코너를 만들었다. jshell은 자바9부터 지원되어 선언문, 문장, 표현식 등을 바로 확인해볼 수 있는 툴이다. jshell로 실제 값을 입력하여 본문 예제를 실행해보면서 공부한 내용을 바로바로 확인해볼 수 있다.

 

이 책은 VOL.1으로 기초 문법을 다루고 있습니다.

<자바의 신>은 총 2권으로 구성되어 있습니다. 그 중 첫 번째인 이 책은 개발자가 알아야 할 기초 문법을 다루고 있습니다. 1권을 이해해야 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. 자바 설치 가이드

[다운로드 링크]

* https://roadbook.co.kr/313

* cafe.naver.com/godofjava

 

<자바의 신> 사이트에서 연습문제도 직접 풀어보고 정답을 확인하세요.

https://sites.google.com/view/godofjava3rd/

 

<자바의 신> 네이버 카페에서 공부하다 막히면 문의하면서 학습하세요.

https://cafe.naver.com/godofjava

 

예제 소스는 깃허브에서 별도로 제공됩니다.

https://github.com/godofjava/GodOfJava3rd

 

 

_편집자 코멘트

편집자인 저도 원고의 초고를 보면서 연습문제를 직접 풀어보았습니다. 사실 삽질을 많이 했습니다. “어디서 에러가 나는 거지?” “앞에서 이런 부분을 설명했나?” “~ 내가 이런 부분을 이해하지 못하고 넘어갔구나하면서, 교정 시간은 더디게 갔지만, 훨씬 자바라는 언어에 더 가까워질 수 있었습니다.

이 책의 베타리뷰로 참석했던 분들도 비슷한 경험을 하였습니다. 이 책은 21명의 베타리뷰어가 리뷰를 하였습니다. 디지털 파일이 아니라 모든 분들께 일일이 제본된 책자가 제공되었습니다. 실제 독자가 학습하는 방식 그대로를 재현하면서 어디에서 막히는지, 문제점은 없는지를 발견하고 이를 책에 반영하였습니다. 상당히 까다롭고 귀찮은 작업이었지만, 기본서의 중요성에 비추어 볼 때 이 정도의 투자는 해야 한다고 생각했습니다.

이 책에 참여해주신 21명의 베타 리뷰어와 좋은 기본서를 만들어준 저자에게 진심으로 감사를 드립니다.

 

_저자 소개

이상민 god@godofjava.com

삼성 SDS에서 개발을 시작하여 NAVER, NHN, SK Planet에서 개발자 및 엔지니어로 일해왔다. 『자바 성능 튜닝 이야기』, 『자바 트러블슈팅』, 『누가 IT 시장 취업에 성공하는가』 등 다수의 IT 서적을 집필하였다. 현재는 서비스 개선 및 개발자 역량 향상에 힘쓰며 CTO 역할을 수행하고 있다.

 

_상세 이미지

 

 

 

                                                                                                _

posted by 로드북
: