자바로 웹 개발을 하고 싶은데 무슨 책으로 시작할까?
그동안 많은 자바 기본서가 나왔고, 솔직히 좋은 도서가 많습니다. 하지만 한 가지 아쉬운 점이 있습니다. 실은 많은 기본서들이 웹 개발자를 위한 책이 아니라 단순히 자바의 기능을 알려주는데 그치고 있는 점입니다. 이 책은 코딩을 전혀 해보지 않은 사람이나 초보자를 대상으로 자바 웹 개발을 위한 자바의 기초를 알려줍니다.
처음에는 우선 프로그래밍에 필수적인 문법부터 알려줍니다. 연산자, 배열, 메서드 등 프로그램 구현 전에 꼭 알아야 하는 요소들을 배웁니다. 그 후 배운 지식을 바탕으로 본격적인 프로그램인 ‘렌터카 프로그램’을 만들고, 뒷 챕터에서 배우는 내용들을 렌터카 프로그램에 적용하여 프로그램을 발전시켜 나갑니다.
단일 도서 기준 페이지가 가장 많은 자바 기본서인만큼 다른 자바 도서에서 수록하지 못하는 부분들도 꼼꼼히 수록했습니다. 멀티 코어 프로그래밍을 하기 위해서 반드시 이해해야 하는 스레드는 2개 챕터를 할애하여 설명하였고, 네트워크나 데이터베이스처럼 알아야 하지만 누락되기 쉬운 부분도 담아 한 권으로 자바의 기초를 확실히 마무리하고, 원하는 개발 분야로 나아갈 수 있는 기초를 마련해 줍니다. 특히 자바로 JSP 등을 이용한 웹 개발을 하고자 한다면, 웹 개발 전에 알아야 할 내용을 전부 수록하여 더 없이 좋은 기본서라고 할 수 있겠습니다.
저자의 말
01장 자바와 개발환경 설정
1 프로그래밍 언어의 발전 과정
2 자바 소개
3 자바의 특징
4 자바 기술의 종류
5 Java SE 개발 환경 설치하기
02장 JDK 구성 요소와 기능
1 HelloWorld 실습 예제를 통한 자바 프로그래밍 과정
2 HelloWorld.java를 통한 자바 코딩 규칙
3 JDK 구성 요소와 기능
4 이클립스에서 “HelloWorld” 출력하기
03장 자바 프로그래밍 기본 문법
1 자바 프로그래밍이란?
2 자바 키워드란?
3 변수란?
4 상수란?
5 자바 기본 데이터 타입
6 타입 변환
7 콘솔로 값 출력하기
8 키보드로 값 입력하기
04장 연산자
1 연산자의 종류와 피연산자
2 이항 연산자
3 단항 연산자와 삼항 연산자
4 연산자 우선 순위
5 연산자 실습하기
05장 조건문과 반복문
1 조건문
2 반복문
3 중첩 반복문
4 break문과 continue문
5 반복문 실습
6 이클립스 디버깅 기능 사용하기
06장 배열
1 배열의 등장 배경
2 1차원 배열
3 1차원 배열 활용하기
4 다차원 배열
5 2차원 배열 활용하기
6 System.arraycopy() 메서드로 배열 복사하기
7 자바 명령 라인 입력
8 java.util.Arrays 클래스 사용하기
07장 메서드
1 메서드란?
2 메서드 형식
3 메서드 호출과 복귀
4 여러 가지 메서드 사용하기
5 메서드 실습
08장 클래스
1 절차 지향 프로그래밍과 객체 지향 프로그래밍
2 객체 지향 프로그래밍 과정
3 객체 지향 프로그래밍으로 렌터카 프로그램 만들기
4 생성자
5 오버로딩
6 패키지와 import문
7 기본 타입 변수와 참조 타입 변수
8 클래스 실습
9 렌터카 프로그램 구현하기
09장 클래스 상속
1 클래스 사이의 관계
2 상속이란?
3 학생 클래스들을 이용한 상속
4 super와 this
5 오버라이딩 메서드
6 접근 제한자
7 자동차를 이용한 상속 실습
8 렌터카 프로그램에 상속 적용하기
10장 다형성
1 다형성이란?
2 업캐스팅
3 다운캐스팅
4 다형성을 이용한 학생 시험 점수 구하기
5 여러 단계의 상속 구조를 이루는 클래스 사이의 다형성 알아보기
11장 추상 클래스
1 abstract 지정자
2 구현 메서드와 추상 메서드
3 추상 클래스
4 학생 클래스로 추상 클래스 실습하기
5 렌터카 프로그램에 추상 클래스 적용하기
12장 정적 및 final 지정자
1 동적 로딩
2 정적 지정자
3 final 지정자
4 렌터카 프로그램에 static 기능 적용하기
13장 인터페이스
1 인터페이스란?
2 인터페이스 사용하기
3 Car 인터페이스 구현하기
4 인터페이스를 이용하여 회원 관리 기능 구현하기
5 다중 인터페이스 사용하기
6 렌터카 프로그램에 인터페이스 적용하기
14장 내부 클래스와 내부 인터페이스
1 내부 클래스
2 멤버 내부 클래스
3 로컬 내부 클래스
4 정적 내부 클래스
5 내부 인터페이스
6 익명 객체
15장 필수 사용 클래스
1 Object 클래스
2 Wrapper 클래스
3 Math 클래스
4 String 클래스
5 StringBuffer 클래스와 StringBuilder 클래스
6 System 클래스
7 Class 클래스
8 java.util 패키지의 클래스들
9 참조 타입 배열과 객체를 리턴하는 메서드
10 열거 타입
11 has-a 관계 클래스
16장 예외
1 자바 에러의 정의와 종류
2 자바 예외의 특징
3 자바 예외의 종류
4 자바 예외 처리 방법
5 다중 catch문과 finally문
6 throws를 이용한 예외 처리 방법
7 명시적 예외 처리 방법
8 사용자 정의 예외 사용 방법
9 렌터카 프로그램에 예외 적용하기
17장 컬렉션 프레임워크
1 컬렉션 프레임워크 정의
2 Collection 계열
3 Stack과 Queue
4 Map 계열
5 Iterator와 Enumeration
6 제네릭
7 Properties와 TreeSet, TreeMap
8 오토박싱과 언오토박싱
9 향상된 for문
10 렌터카 프로그램에 컬렉션 적용하기
18장 스레드
1 프로세스
2 스레드
3 자바에서 스레드 사용하기
4 Thread 클래스의 여러 가지 메서드 사용하기
5 스레드의 상태
6 스레드 동기화
19장 자바 I/O
1 스트림의 정의와 스트림의 종류
2 바이트 스트림과 문자 스트림
3 노드스트림과 필터스트림
4 PrintStream과 PrinterWriter 사용하기
5 객체 직렬화
6 XML 사용하기
7 렌터카 프로그램에 자바 I/O 적용하기
20장 자바 네트워크
1 네트워크 통신의 정의
2 자바 소켓 통신
3 자바 채팅 프로그램
4 네트워크 파일 전송과 네트워크 직렬화
5 공공 데이터 연동하기
21장 자바 AWT
1 AWT란?
2 컨테이너
3 컴포넌트
4 배치관리자
5 이벤트의 정의와 사용법
6 자바 이벤트 처리 과정
7 Adapter 클래스
22장 자바 스윙
1 스윙의 정의와 특징
2 스윙 컨테이너 기능
3 MVC 디자인 패턴 사용하기
4 스윙으로 렌터카 프로그램 화면 구현하기
23장 자바 데이터베이스
1 데이터베이스 정의
2 오라클 DBMS 설치하기
3 관계형 DBMS 알아보기
4 SQL문의 정의와 사용법
5 JDBC의 정의와 사용법
6 PreparedStatement 사용법
7 DAO와 VO의 정의와 사용법
8 회원 정보 수정과 삭제 기능 구현하기
9 렌터카 프로그램에 데이터베이스 적용하기
24장 제네릭 심화
1 제한된 타입 파라미터(T extends 최상위 타입)
2 와일드 카드 타입(〈?〉, 〈? extends ...〉, 〈? super...〉)
3 제네릭 타입의 상속과 구현
25장 람다식
1 람다식이란?
2 람다식 기본 형식
3 함수형 인터페이스
4 람다식 활용
5 자바 API의 함수형 인터페이스
6 자바 API의 함수형 인터페이스의 디폴트 메서드와 정적 메서드
7 컬렉션 프레임워크와 함수형 인터페이스
26장 스트림
1 스트림이란?
2 스트림 종류
3 스트림 파이프 라인
4 중간 처리 스트림 메서드
5 최종 처리 스트림 메서드
27장 스레드 심화
1 스레드 그룹
2 스레드풀
3 톰캣의 스레드풀 구조
4 스레드풀을 이용해서 다중 채팅 프로그램 구현하기
5 병렬 처리
28장 NIO
1 NIO의 특징
2 버퍼
3 채널
4 NIO를 이용해서 멀티 채팅 예제 구현하기
29장 어노테이션
1 어노테이션이란?
2 표준 어노테이션
3 사용자 정의 어노테이션
4 리플렉션
30장 유용한 클래스들
1 정규 표현식과 Pattern 클래스
2 Objects 클래스
3 java.time 패키지
4 자바의 문자 세트
31장 부록
1 여러 가지 수 체계
2 자바의 음수 표현법
3 자바의 실수 표현법
4 비트 연산자와 시프트 연산자
5 JVM 구조
6 같은 파일에 여러 클래스 선언하기
7 롬복 사용하기
8 재귀 메서드
9 자바 라이브러리 만들기
10 모듈 만들기
11 자바 표준 모듈
12 JDK 구성 요소들