“결론은 ‘자바’다. 가장 중요한 프로그래밍 언어를 하나 배워야 한다면,”
‘자바’ 세상
자바는 현재 웹 애플리케이션 개발에 가장 많이 사용되는 언어이고, 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다. 오늘날 전 세계인의 사랑을 받는 ‘안드로이드’의 애플리케이션이 바로 자바로 이루어져 있다. 국내 스마트폰의 90%가 안드로이드이니 바야흐로 지금은 ‘자바’ 세상임이 분명하다. 이것이 만약 여러분이 지금 가장 중요한 프로그래밍 언어를 하나 배워야 한다면 ‘자바’가 필연적인 결론으로 나오는 이유다.
자바 개발자로 가는 길
자바를 배우고자 하는 분들의 첫 번째 목표는 ‘자바 개발자가 되기 위해서’이다. 저자는 15년이 넘도록 이런 분들을 교육해왔다. 이 책은 자바 개발자가 되기 위해 첫발을 내딛는 분들이 쉽게 학습할 수 있도록 풍부한 개념 그림과 정확한 설명, 그리고 완벽한 인터넷 강의로 이해력을 돕는다. 여러분이 아래 세 가지만 준비한다면 자바 개발자로 가는 정확한 길을 보게 될 것이다.
하나, 새로운 것을 배우는 것에 대한 두려움이 없다.
둘, 자바를 배우기 위한 시간과 노력을 투자할 준비가 되어 있다.
셋, 집중도와 끈기가 있다.
이 책은 무료 인터넷 강의를 제공하며, 네이버 카페(http://cafe.naver.com/thisisjava)를 통해 Q/A를 제공한다.
<바로가기 링크 안내>
CHAPTER 1 자바 시작하기
1.1 프로그래밍 언어란?
1.2 자바란?
1.3 자바 개발 환경 구축
1.4 자바 프로그램 개발 순서
1.5 주석과 실행문
1.6 이클립스 설치
1.7 풀인원 설치와 실행
CHAPTER 2 변수와 타입
2.1 변수
2.2 데이터 타입
CHAPTER 3 연산자
3.1 연산자와 연산식
3.2 연산의 방향과 우선순위
3.3 단항 연산자
3.4 이항 연산자
3.5 삼항 연산자
CHAPTER 4 조건문과 반복문
4.1 코드 실행 흐름 제어
4.2 조건문(if문, switch문)
4.3 반복문(for문, while문, do-while문)
CHAPTER 5 참조 타입
5.1 데이터 타입 분류
5.2 메모리 사용 영역
5.3 참조 변수의 ==, != 연산
5.4 null과 NullPointerException
5.5 String 타입
5.6 배열 타입
5.7 열거 타입
CHAPTER 6 클래스
6.1 객체 지향 프로그래밍
6.2 객체와 클래스
6.3 클래스 선언
6.4 객체 생성과 클래스 변수
6.5 클래스의 구성 멤버
6.6 필드
6.7 생성자
6.8 메소드
6.9 인스턴스 멤버와 this
6.10 정적 멤버와 static
6.11 final 필드와 상수
6.12 패키지
6.13 접근 제한자
6.14 Getter와 Setter 메소드
6.15 어노테이션
CHAPTER 7 상속
7.1 상속 개념
7.2 클래스 상속
7.3 부모 생성자 호출
7.4 메소드 재정의
7.5 final 클래스와 final 메소드
7.6 protected 접근 제한자
7.7 타입 변환과 다형성
7.8 추상 클래스
CHAPTER 8 인터페이스
8.1 인터페이스의 역할
8.2 인터페이스 선언
8.3 인터페이스 구현
8.4 인터페이스 사용
8.5 타입 변환과 다형성
8.6 인터페이스 상속
8.7 디폴트 메소드와 인터페이스 확장
CHAPTER 9 중첩 클래스와 중첩 인터페이스
9.1 중첩 클래스와 중첩 인터페이스란?
9.2 중첩 클래스
9.3 중첩 클래스의 접근 제한
9.4 중첩 인터페이스
9.5 익명 객체
CHAPTER 10 예외 처리
10.1 예외와 예외 클래스
10.2 실행 예외
10.3 예외 처리 코드
10.4 예외 종류에 따른 처리 코드
10.5 자동 리소스 닫기
10.6 예외 떠넘기기
10.7 사용자 정의 예외와 예외 발생
10.8 예외 정보 얻기
CHAPTER 11 기본 API 클래스
11.1 자바 API 도큐먼트
11.2 java.lang과 java.util 패키지
11.3 Object 클래스
11.4 Objects 클래스
11.5 System 클래스
11.6 Class 클래스
11.7 String 클래스
11.8 StringTokenizer 클래스
11.9 StringBuffer, StringBuilder 클래스
11.10 정규 표현식과 Pattern 클래스
11.11 Arrays 클래스
11.12 Wrapper(포장) 클래스
11.13 Math, Random 클래스
11.14 Date, Calendar 클래스
11.15 Format 클래스
11.16 java.time 패키지
CHAPTER 12 멀티 스레드
12.1 멀티 스레드 개념
12.2 작업 스레드 생성과 실행
12.3 스레드 우선순위
12.4 동기화 메소드와 동기화 블록
12.5 스레드 상태
12.6 스레드 상태 제어
12.7 데몬 스레드
12.8 스레드 그룹
12.9 스레드풀
CHAPTER 13 제네릭
13.1 왜 제네릭을 사용해야 하는가?
13.2 제네릭 타입(class〈T〉, interface〈T〉)
13.3 멀티 타입 파라미터(class〈K,V,...〉, interface〈K,V,...〉)
13.4 제네릭 메소드(〈T, R〉 R method(T t))
13.5 제한된 타입 파라미터(〈T extends 최상위타입〉)
13.6 와일드카드 타입(〈?〉, 〈? extends ...〉, 〈? super ...〉)
13.7 제네릭 타입의 상속과 구현
CHAPTER 14 람다식
14.1 람다식이란?
14.2 람다식 기본 문법
14.3 타겟 타입과 함수적 인터페이스
14.4 클래스 멤버와 로컬 변수 사용
14.5 표준 API의 함수적 인터페이스
14.6 메소드 참조
CHAPTER 15 컬렉션 프레임워크
15.1 컬렉션 프레임워크 소개
15.2 List 컬렉션
15.3 Set 컬렉션
15.4 Map 컬렉션
15.5 검색 기능을 강화시킨 컬렉션
15.6 LIFO와 FIFO 컬렉션
15.7 동기화된 컬렉션
15.8 병렬 처리를 위한 컬렉션
CHAPTER 16 스트림과 병렬 처리
16.1 스트림 소개
16.2 스트림의 종류
16.3 스트림 파이프라인
16.4 필터링(distinct( ), filter( ))
16.5 매핑(flatMapXXX( ), mapXXX( ), asXXXStream( ), boxed( ))
16.6 정렬(sorted( ))
16.7 루핑(peek( ), forEach( ))
16.8 매칭(allMatch( ), anyMatch( ), noneMatch( ))
16.9 기본 집계(sum( ), count( ), average( ), max( ), min( ))
16.10 커스텀 집계(reduce( ))
16.11 수집(collect( ))
16.12 병렬 처리
CHAPTER 17 JavaFX
17.1 JavaFX 개요
17.2 JavaFX 애플리케이션 개발 시작
17.3 JavaFX 레이아웃
17.4 JavaFX 컨테이너
17.5 JavaFX 이벤트 처리
17.6 JavaFX 속성 감시와 바인딩
17.7 JavaFx 컨트롤
17.8 JavaFX 메뉴바와 툴바
17.9 JavaFX 다이얼로그
17.10 JavaFX CSS 스타일
17.11 JavaFX 스레드 동시성
17.12 화면 이동과 애니메이션
CHAPTER 18 IO기반 입출력 및 네트워킹
18.1 IO 패키지 소개
18.2 입력 스트림과 출력 스트림
18.3 콘솔 입출력
18.4 파일 입출력
18.5 보조 스트림
18.6 네트워크 기초
18.7 TCP 네트워킹
18.8 UDP 네트워킹
CHAPTER 19 NIO 기반 입출력 및 네트워킹
19.1 NIO 소개
19.2 파일과 디렉토리
19.3 버퍼
19.4 파일 채널
19.5 파일 비동기 채널
19.6 TCP 블로킹 채널
19.7 TCP 넌블로킹 채널
19.8 TCP 비동기 채널
19.9 UDP 채널
【이 책의 특징과 장점】
확인문제
챕터의 끝에는 확인문제가 있습니다. 해당 챕터를 잘 이해했는지 확인할 수 있는 알찬 문제로 구성되어 있으니 절대로 빼먹지 말고 차근차근 풀어보세요. 확인문제의 풀이와 답은 무료로 제공되는 인터넷 강의에서 친절한 해설을 통해 알려드립니다.
인터넷 강의
저자 직강의 인터넷 강의를 한빛미디어 홈페이지에서 동영상으로 보실 수 있습니다. 한빛미디어에 로그인하시고 책에 부착된 수강 쿠폰번호를 입력하면 그로부터 1년간 몇 번이고 인터넷 강의를 들으실 수 있습니다. 수강 쿠폰의 유효기간이 지나면 더는 인터넷 강의를 보실 수 없으니 이점 양해 바랍니다. 수강 쿠폰은 중복해서 사용하실 수 없습니다. 자세한 방법은 책에 부착된 쿠폰을 참조하세요.
네이버 카페
저자가 직접 운영하는 네이버 카페에서는 이 책에서 사용된 예제 소스코드와 인터넷 강의(샘플로 제공하는 강의), 그리고 Q/A를 제공합니다. 위 카페는 자바뿐 아니라, 자바로 개발할 수 있는 모든 애플리케이션 개발 기술을 다루고 있으며 학습자를 위해 온라인/오프라인 스터디 모임도 진행하고 있습니다. 이 책을 읽는 것에 그치지 말고, 카페를 통해 더 많은 배움을 이루시길 바랍니다. 오프라인에서도 만날 수 있길 희망합니다.
【어떤 독자를 위한 책인가?】