장바구니 담기 close

장바구니에 상품을 담았습니다.

Do it 자바 완전 정복

Do it 자바 완전 정복

  • 김동형
  • |
  • 이지스퍼블리싱
  • |
  • 2021-09-01 출간
  • |
  • 856페이지
  • |
  • 188 X 257 mm
  • |
  • ISBN 9791163032816
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
27,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




“내가 작성한 코드가 어떻게 동작하는지 하나하나 보여 준다!”
182개의 도해와 그림으로 더 쉽게, 더 깊게 이해한다!

내가 작성한 코드는 도대체 어떻게 실행될까? 글로만 이해하려고 하면 답답하기 마련이다. 이 책은 182개의 도해와 그림으로 자신이 작성한 자바 프로그램이 작동하는 모습을 하나하나 속 시원하게 보여 준다. 메모리 동작 원리와 같은 프로그래밍의 추상적인 개념을 쉽게 이해할 수 있을 것이다. 수년간 대학에서 자바 프로그래밍 강의를 진행한 저자의 노하우를 느껴 보자.

“컴공과 1년치 강의 대공개!”
178개, 83시간 분량의 저자 직강 유튜브 동영상 강의 무료 제공!
저자가 직접 만든 178개, 총 83시간 분량의 저자 직강 유튜브 동영상 강의를 무료로 제공한다. 귀로 저자의 목소리를 들으면서 눈으로 책을 읽으면 복잡한 개념도 술술 풀릴 것이다. 책과 함께 동영상을 시청하며 공부 효율을 두 배 이상 올려 보자.

“컴퓨터공학과 대학 교재로 안성맞춤!”
16주 진도표로 계획 세워 공부하고, 400여 개의 문제로 시험과 취업 면접까지 대비한다!
이 책은 16주 구성의 진도표를 제공하여 대학교에서 ‘자바 프로그래밍 수업’을 듣는 것처럼 공부할 수 있도록 배려했다. 또한 400여 개의 예제와 연습 문제를 제공하여 학교 시험과 취업 면접까지 대비할 수 있다. 문제의 정답은 코드 하나하나에 친절하게 설명을 덧붙여 문제만 풀어도 자바 문법과 개념을 복습하는 경험을 할 수 있다. 문제를 풀 때는 프로그램 실행 전과 후를 예측해 보자. 학습 효율이 더 높아질 것이다.

단기 강의만으로는 배울 수 없는 정통 자바 프로그래밍 입문!
“자바 기초 문법 그 이상을 알려 주는 책!”
이 책의 ‘전공자라면 이 정도는 꼭’ 코너에서는 개발자라면 꼭 알아야 할 프로그래밍 개념과 상식이 담겨 있다. 당장 예제를 푸는 데 필요하지는 않아도 내공이 깊은 개발자가 되려면 이러한 배경지식이 큰 힘이 된다. 비전공자라도 앞으로 진지하게 개발자의 길을 걷고 싶다면 이 책으로 공부해야 하는 이유다.

PDF 전자책 제공!
“자바 네트워크, 자바 API 함수형 인터페이스까지!”
이 책은 자바에 입문하는 독자의 부담을 줄이고자 최대한 가볍게 만들었습니다. 1,000쪽이 넘는 원고를 추리는 과정에서 빠진 심화 내용인 ‘자바 네트워크’와 ‘자바 API의 함수형 인터페이스’는 무료 PDF 전자책으로 추가 제공합니다. 책을 다 읽은 후에 PDF 전자책을 추가로 내려받아 공부해 보세요. 물론 동영상 강의도 준비했습니다.

함께 배우고, 나누고, 성장하는 ‘Do it! 스터디룸’으로 오세요
혼자 계획을 세우고 공부하다 보면 금방 지치기 마련이죠? 나와 비슷한 고민을 하는 독자를 만나 어려운 내용을 공유해 보세요. 서로 도움을 주고받으며 공부하다 보면 더 보람찰 것입니다. 멀리 가려면 친구와 함께 앞으로 나아가 보세요.
- 두잇 스터디룸: cafe.naver.com/doitstudyroom

완성 소스 파일을 이지스퍼블리싱 홈페이지 자료실 또는 저자 깃허브에서 제공합니다
- 이지스퍼블리싱 홈페이지: www.easyspub.co.kr → [자료실] 클릭 → 도서명 검색
- 저자 깃허브: https://github.com/kimdh-hyw


목차


1장 자바 시작하기
1.1 프로그래밍 언어와 자바
__1.1.1 프로그래밍 언어
__1.1.2 자바의 역사
__1.1.3 자바의 플랫폼 독립성
__1.1.4 자바 개발 도구와 자바 실행 환경
1.2 자바 개발 환경
__1.2.1 JDK 설치하기
__1.2.2 이클립스 설치하기
__1.2.3 이클립스 구성 및 환경 설정하기
__1.2.4 이클립스에서 다양한 설정 바꾸기
__1.2.5 이클립스 단축키
1.3 자바 프로젝트
__1.3.1 자바 프로젝트 생성 및 실행하기
__1.3.2 자바 프로젝트 생성 실습하기
1.4 자바 프로그램의 기본 구조
__1.4.1 자바 소스 코드의 실행 과정
__1.4.2 소스 코드의 기본 구조 분석
__1.4.3 소스 파일 컴파일과 바이트 코드 생성
__1.4.4 콘솔 출력 메서드와 문자열 출력

2장 자료형
2.1 변수와 자료형
__2.1.1 자료형 선언하기
__2.1.2 변수 사용하기
2.2 이름 짓기
__2.2.1 이름을 지을 때 지켜야 하는 필수 사항
__2.2.2 이름을 지을 때 지키면 좋은 권장 사항
__2.2.3 변수의 생존 기간
2.3 자료형의 종류
__2.3.1 기본 자료형과 참조 자료형의 차이
__2.3.2 기본 자료형의 메모리 크기와 저장할 수 있는 값의 범위
__2.3.3 부울대수 자료형 - boolean
__2.3.4 정수 자료형 - byte, short, int, long
__2.3.5 실수 자료형 - float, double
__2.3.6 문자 자료형
2.4 기본 자료형 간의 타입 변환
__2.4.1 자동 타입 변환과 수동 타입 변환
__2.4.2 기본 자료형 간의 연산

3장 연산자
3.1 연산자의 종류
3.2 연산자의 연산 방법
__3.2.1 산술 연산자와 증감 연산자
__3.2.2 비트 연산자
__3.2.3 시프트 연산자
__3.2.4 비교 연산자
__3.2.5 논리 연산자
__3.2.6 대입 연산자
__3.2.7 삼항 연산자

4장 제어문과 제어 키워드
4.1 제어문
__4.1.1 제어문의 개념
__4.1.2 if 선택 제어문
__4.1.3 switch 선택 제어문
__4.1.4 for 반복 제어문
__4.1.5 while 반복 제어문
__4.1.6 do-while 반복 제어문
__4.1.7 제어문의 중복
4.2 제어 키워드
__4.2.1 break 제어 키워드
__4.2.2 continue 제어 키워드

5장 참조 자료형
5.1 배열
__5.1.1 배열이란?
__5.1.2 배열 생성하기
__5.1.3 1차원 배열을 생성하는 다양한 방법
__5.1.4 참조 변수와 배열 객체의 값 초기화하기
__5.1.5 참조 자료형으로서 배열의 특징
__5.1.6 반복문을 이용해 배열 데이터 읽기
__5.1.7 2차원 정방 행렬 배열
__5.1.8 2차원 비정방 행렬 배열
__5.1.9 2차원 배열의 출력
__5.1.10 main() 메서드의 입력매개변수
5.2 문자열을 저장하는 String
__5.2.1 문자열의 표현과 객체 생성
__5.2.2 String 클래스의 2가지 특징
__5.2.3 String 객체의 ‘+’ 연산
__5.2.4 String 클래스의 주요 메서드

6장 클래스와 객체
6.1 클래스와 객체의 개념
__6.1.1 클래스의 개념 알아보기
__6.1.2 절차지향과 객체지향 이해하기
__6.1.3 클래스 구조 살펴보기
__6.1.4 클래스와 객체 구분하기
6.2 객체의 생성과 활용
__6.2.1 객체 생성하기
__6.2.2 객체 활용하기

7장 클래스 내부 구성 요소
7.1 필드
__7.1.1 필드와 지역 변수의 구분
__7.1.2 필드와 지역 변수의 초깃값
7.2 메서드
__7.2.1 메서드 정의하기
__7.2.2 여러 리턴 타입의 메서드 살펴보기
__7.2.3 메서드 호출하기
__7.2.4 오버로딩된 메서드
__7.2.5 가변 길이 배열 입력매개변수 메서드
7.3 생성자
__7.3.1 생성자의 특징
__7.3.2 기본 생성자의 자동 추가
__7.3.3 생성자와 객체의 생성 방법
7.4 this 키워드와 this() 메서드
__7.4.1 내부 객체 참조 변수명인 this 키워드
__7.4.2 클래스 내 다른 생성자를 호출하는 this() 메서드

8장 클래스 외부 구성 요소
8.1 패키지와 임포트
__8.1.1 패키지
__8.1.2 임포트
8.2 외부 클래스

9장 자바 제어자 1
9.1 접근 지정자
__9.1.1 멤버 및 생성자의 접근 지정자
__9.1.2 클래스의 접근 지정자
__9.1.3 클래스 접근 지정자와 생성자 접근 지정자의 연관성
9.2 static 제어자
__9.2.1 인스턴스 필드와 정적 필드
__9.2.2 인스턴스 메서드와 정적 메서드
__9.2.3 정적 메서드 안에서 사용할 수 있는 필드와 메서드
__9.2.4 정적 초기화 블록
__9.2.5 static main() 메서드

10장 클래스의 상속과 다형성
10.1 클래스 상속의 개념과 문법적 특징
__10.1.1 상속의 개념
__10.1.2 상속의 장점
__10.1.3 상속 문법
__10.1.4 상속할 때의 메모리 구조
__10.1.5 생성자의 상속 여부
__10.1.6 객체의 다형적 표현
10.2 객체의 타입 변환
__10.2.1 객체의 업캐스팅과 다운캐스팅
__10.2.2 메모리로 이해하는 다운캐스팅
__10.2.3 선언 타입에 따른 차이점
__10.2.4 캐스팅 가능 여부를 확인하는 instanceof 키워드
10.3 메서드 오버라이딩
__10.3.1 메서드 오버라이딩의 개념과 동작
__10.3.2 메서드 오버라이딩을 사용하는 이유
__10.3.3 메서드 오버라이딩과 메서드 오버로딩
__10.3.4 메서드 오버라이딩과 접근 지정자
10.4 인스턴스 필드와 정적 멤버의 중복
__10.4.1 인스턴스 필드의 중복
__10.4.2 정적 필드의 중복
__10.4.3 정적 메서드의 중복
__10.4.4 인스턴스 멤버와 정적 멤버의 중복 정리
10.5 super 키워드와 super() 메서드
__10.5.1 부모의 객체를 가리키는 super 키워드
__10.5.2 부모 클래스의 생성자를 호출하는 super() 메서드
10.6 최상위 클래스 Object
__10.6.1 Object 클래스의 주요 메서드

11장 자바 제어자 2
11.1 final 제어자
__11.1.1 final 변수
__11.1.2 final 메서드와 final 클래스
11.2 abstract 제어자
__11.2.1 abtract 제어자의 장점

12장 추상 클래스와 인터페이스
12.1 추상 클래스
__12.1.1 추상 클래스의 정의
__12.1.2 추상 클래스의 특징
__12.1.3 추상 클래스 타입의 객체 생성 방법
12.2 인터페이스
__12.2.1 인터페이스의 정의와 특징
__12.2.2 인터페이스의 상속
__12.2.3 인터페이스 타입의 객체 생성 방법
__12.2.4 인터페이스의 필요성
__12.2.5 디폴트 메서드와 정적 메서드

13장 이너 클래스와 이너 인터페이스
13.1 이너 클래스
__13.1.1 인스턴스 멤버 이너 클래스
__13.1.2 정적 멤버 이너 클래스
__13.1.3 지역 이너 클래스
13.2 익명 이너 클래스
__13.2.1 익명 이너 클래스의 정의와 특징
__13.2.2 익명 이너 클래스를 활용한 인터페이스 타입의 입력매개변수 전달
13.3 이너 인터페이스
__13.3.1 이너 인터페이스의 정의와 특징
__13.3.2 이벤트 처리 기능 작성하기

14장 예외 처리
14.1 예외
__14.1.1 예외와 에러의 차이점
__14.1.2 예외 클래스의 상속 구조
__14.1.3 일반 예외 클래스
__14.1.4 실행 예외
14.2 예외 처리
__14.2.1 예외 처리 문법
__14.2.2 예외 처리 과정
__14.2.3 다중 예외 처리
__14.2.4 리소스 자동 해제 예외 처리
14.3 예외 전가
__14.3.1 예외 전가 문법
14.4 사용자 정의 예외 클래스
__14.4.1 사용자 정의 예외 클래스 생성 방법
__14.4.2 예외 클래스의 메서드
__14.4.3 사용자 정의 예외 클래스의 사용 예

15장 쓰레드
15.1 프로그램, 프로세스, 쓰레드
__15.1.1 프로그램과 프로세스의 개념
__15.1.2 쓰레드의 개념
__15.1.3 자바 프로그램에서의 쓰레드
__15.1.4 멀티 쓰레드의 필요성
__15.1.5 쓰레드는 정말 동시에 수행될까?
15.2 쓰레드의 생성 및 실행
__15.2.1 쓰레드 생성 및 실행 방법
15.3 쓰레드의 속성
__15.3.1 현재 쓰레드 객체 참좃값 얻어오기
__15.3.2 실행 중인 쓰레드의 개수 가져오기
__15.3.3 쓰레드의 이름 지정 및 가져오기
__15.3.4 쓰레드의 우선순위
__15.3.5 쓰레드의 데몬 설정
15.4 쓰레드의 동기화
__15.4.1 동기화의 개념
__15.4.2 동기화의 필요성
__15.4.3 동기화 방법
__15.4.4 동기화의 원리
15.5 쓰레드의 상태
__15.5.1 쓰레드의 6가지 상태
__15.5.2 NEW, RUNNABLE, TERMINATED
__15.5.3 TIMED_WAITING
__15.5.4 BLOCKED
__15.5.5 WAITING

16장 제네릭
16.1 제네릭 클래스와 제네릭 인터페이스
__16.1.1 제네릭 없이 여러 객체를 저장하는 클래스 작성하기
16.2 제네릭의 문법
__16.2.1 제네릭 클래스와 제네릭 인터페이스 정의하기
__16.2.2 제네릭 클래스의 객체 생성
16.3 제네릭 메서드
__16.3.1 제네릭 메서드의 정의와 호출
__16.3.2 제네릭 메서드 내에서 사용할 수 있는 메서드
16.4 제네릭 타입 범위 제한
__16.4.1 제네릭 타입 범위 제한의 필요성
__16.4.2 제네릭 타입 범위 제한의 종류와 타입 범위 제한 방법
16.5 제네릭의 상속
__16.5.1 제네릭 클래스의 상속
__16.5.2 제네릭 메서드의 상속

17장 컬렉션 프레임워크
17.1 컬렉션 프레임워크의 개념과 구조
__17.1.1 컬렉션이란?
__17.1.2 컬렉션 프레임워크란?
17.2 List〈E〉 컬렉션 인터페이스
__17.2.1 배열과 리스트의 차이점
__17.2.2 List〈E〉 객체 생성하기
__17.2.3 List〈E〉의 주요 메서드
__17.2.4 ArrayList〈E〉 구현 클래스
__17.2.5 Vector〈E〉 구현 클래스
__17.2.6 LinkedList〈E〉 구현 클래스
__17.2.7 ArrayList〈E〉와 LinkedList〈E〉의 성능 비교
17.3 Set〈E〉 컬렉션 인터페이스
__17.3.1 Set〈E〉 컬렉션의 특징
__17.3.2 Set〈E〉의 주요 메서드
__17.3.3 HashSet〈E〉 구현 클래스
__17.3.4 LinkedHashSet〈E〉 구현 클래스
__17.3.5 TreeSet〈E〉 구현 클래스
17.4 Map〈K, V〉 컬렉션 인터페이스
__17.4.1 Map〈K, V〉 컬렉션의 특징
__17.4.2 Map〈K, V〉 인터페이스의 주요 메서드
__17.4.3 HashMap〈K, V〉
__17.4.4 Hashtable〈K, V〉
__17.4.5 LinkedHashMap〈K, V〉
__17.4.6 TreeMap〈K, V〉
17.5 Stack〈E〉 컬렉션 클래스
__17.5.1 Stack〈E〉 컬렉션의 특징
__17.5.2 Stack〈E〉의 주요 메서드
17.6 Queue〈E〉 컬렉션 인터페이스
__17.6.1 Queue〈E〉 컬렉션의 특징
__17.6.2 Queue〈E〉의 주요 메서드

18장 람다식
18.1 람다식
__18.1.1 객체 지향 구조 내에서 람다식 적용 과정
__18.1.2 람다식의 기본 문법 및 약식 표현
18.2 람다식의 활용
__18.2.1 구현 메서드의 약식 표현
__18.2.2 메서드 참조
__18.2.3 생성자 참조

19장 자바 입출력
19.1 파일 관리와 문자셋
__19.1.1 자바로 파일 관리하기
__19.1.2 자바에서 문자셋 이용하기
19.2 byte 단위 입출력
__19.2.1 byte 단위 입출력과 char 단위 입출력
__19.2.2 InputStream과 OutputStream의 상속 구조
__19.2.3 InputStream의 주요 메서드
__19.2.4 OutputStream의 주요 메서드
__19.2.5 InputStream 객체 생성 및 활용하기
__19.2.6 OutputStream 객체 생성 및 활용하기
__19.2.7 콘솔로 InputStream 사용하기
__19.2.8 콘솔로 OutputStream 사용하기
__19.2.9 입출력 필터링하기
19.3 char 단위 입출력
__19.3.1 Reader와 Writer의 상속 구조
__19.3.2 Reader의 주요 메서드
__19.3.3 Writer의 주요 메서드
__19.3.4 Reader/Writer 객체 생성 및 활용하기
__19.3.5 BufferedReader/BufferedWriter로 속도 개선하기
__19.3.6 InputStreamReader/OutputStreamWriter로 Reader/Writer 객체 생성하기
__19.3.7 PrinterWriter로 Writer 객체 생성하기

특별 부록 1 자바 네트워크
특별 부록 2 자바 API의 함수형 인터페이스
찾아보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.