책소개
자바는 인기 있는 프로그래밍 언어이기도 하지만, 객체지향 프로그래밍을 잘 수용하고 있고 안드로이드 앱 개발에도 사용되기 때문에 더 파급력이 있는 언어가 되었습니다.
하지만 자바를 배우기가 그리 쉽지만은 않습니다.
대부분 객체라는 고개를 넘지 못해서 그런 경우가 많습니다.
이 책은 다음과 같은 분들을 위해서 자바의 핵심을 쉽고 빠르게 마스터할 수 있도록 했습니다.
● 자바는 물론, 프로그래밍 언어를 처음으로 배우시는 분
● 자바를 배우다가 너무 복잡해서 중도에 포기하신 분
● 클래스와 객체(인스턴스), 상속 등 객체지향의 개념이 어려우신 분
● 안드로이드 앱 개발을 위해서 빠르게 자바의 기본을 마스터하실 분
1층을 튼튼하게 지어야 안심하고 고층 빌딩을 지을 수 있듯이 자바 학습에서 제일 중요한 것은 탄탄한 기초 개념입니다.
대부분의 독자들이 어려워하는 객체지향의 핵심은 5장, 6장, 7장에 있습니다.
그 3개의 장에서 클래스가 무엇이고 객체(인스턴스)가 무엇인지, 왜 이렇게 프로그램을 구성하는지, new는 언제는 사용하고 언제는 필요 없는지, 생성자는 무엇인지, 왜 상속과 같은 기능이 있어야 하는지 등등 객체지향의 기본 개념을 확실하게 잡으실 수 있습니다.
자바는 클래스 덩어리입니다.
클래스만 잘 사용하면 자바처럼 편리한 언어도 없습니다.
그래서 클래스와 객체, 상속 등 객체지향의 기본 개념이 매우 중요합니다.
그런데 대부분 그 객체지향이라는 개념을 확실히 이해하지 못해서 어렵게 느낍니다.
기본 개념만 확실해지면 그 모든 클래스들을 다 알고 있지 않아도 수시로 찾아서 사용할 수 있게 됩니다.
그래서 이 책에서는 다음과 같은 기준으로 자바의 기본을 설명하고 있습니다.
● 객체 지향의 개념을 쉽고 빠르게 이해하도록 간결한 예제를 제공한다.
● 모든 예제의 소스코드에 주석을 추가해서 입체적으로 이해하게 한다.
● 자바의 모든 것을 이해한다는 것은 결국 클래스의 사용법을 아는 것이다.
● 하지만 그 모든 클래스를 다 안다는 것은 불가능하기도 하고 그럴 필요도 없다.
● 필수적인 클래스와 메소드만 해설하되 자바의 주요 뼈대를 모두 파악하게 한다.
● 이 책을 마치면 스스로 자바 소스코드를 해독하고 다른 문서를 해독할 능력이 생겨야 한다.
● 안드로이드 앱 개발을 위해 자바를 배우는 독자들이 쉽게 마스터할 수 있어야 한다.
목차
01장 자바의 개요
1.1 자바의 역사와 특징
1.2 일반 언어와 자바의 차이
1.3 JDK (Java Development Kit)의 설치
1.4 자바 애플리케이션의 작성, 컴파일, 실행
1.5 JDK의 구성
1.6 bin 디렉토리의 주요 실행 파일들
1.7 Java API 문서 참조
1.8 Eclipse의 설치와 사용법
이 장의 요점
02장 자바 프로그램의 기본 요소와 데이터 형
2.1 자바 프로그램의 기본 구성
2.2 변수와 상수의 개요
2.3 변수와 상수의 사용
이 장의 요점
03장 연산자
3.1 할당 연산자
3.2 산술 연산자
3.3 증감 연산자
3.4 관계 연산자
3.5 논리 연산자
3.6 3항 연산자
3.7 비트 연산자
3.8 쉬프트 연산자
3.9 할당 연산자의 또 다른 형식
3.10 연산의 우선 순위
이 장의 요점
04장 조건문과 반복문과 배열
4.1 단순 if 문
4.2 if - else 문
4.3 if - else if 문
4.4 switch 문
4.5 for 문
4.6 while 문
4.7 do - while 문
4.8 break와 continue 문
이 장의 요점
05장 객체지향 프로그래밍 1
5.1 객체지향 프로그래밍의 개요
5.2 클래스의 기본 개념
5.3 객체와 인스턴스
5.4 인스턴스 없이 사용하는 static 변수와 static 메소드
5.5 매개변수와 return 문을 사용하는 메소드
5.6 메소드 오버로딩
5.7 생성자 (Constructor)
5.8 this의 사용
5.9 package와 import
5.10 배열
이 장의 요점
06장 객체지향 프로그래밍 2
6.1 상속
6.2 접근 지정자와 캡슐화
6.3 메소드 오버라이딩
6.4 super와 final
6.5 추상 클래스
6.6 인터페이스
6.7 다형성
6.8 내부 클래스
이 장의 요점
07장 유용한 클래스와 컬렉션
7.1 Object 클래스
7.2 Wrapper 클래스
7.3 String 클래스
7.4 StringBuffer 클래스
7.5 StringTokenizer 클래스
7.6 Random 클래스
7.7 Scanner 클래스
7.8 컬렉션
7.9 List
7.10 Set
7.11 Map
이 장의 요점
08장 예외 처리
8.1 예외 처리 클래스
8.2 try-catch 구문
8.3 복수의 예외 검사
8.4 try-catch-finally 구문
8.5 throws와 throw
8.6 사용자 정의 예외 클래스
이 장의 요점
09장 쓰레드
9.1 쓰레드(Thread)의 개념
9.2 쓰레드의 생성
9.3 쓰레드의 우선순위
9.4 쓰레드의 라이프 싸이클
9.5 쓰레드의 동기화
이 장의 요점
10장 AWT
10.1 AWT 패키지 내의 클래스 구성
10.2 Frame 만들기
10.3 Panel 만들기
10.4 레이아웃 관리자 (Layout Manager)
10.5 레이아웃 관리자 없이 직접 컴포넌트 배치하기
10.6 BorderLayout 사용하기
10.7 FlowLayout 사용하기
10.8 GridLayout 사용하기
10.9 CardLayout 사용하기
10.10 Label 만들기
10.11 Button 만들기
10.12 TextField 만들기
10.13 TextArea 만들기
10.14 List 만들기
10.15 Choice 만들기
10.16 Checkbox 만들기
10.17 Scrollbar 만들기
10.18 Dialog 만들기
10.19 FileDialog 만들기
10.20 Menu 만들기
이 장의 요점
11장 Event
11.1 Event를 위한 클래스와 메소드
11.2 ActionEvent 사용하기
11.3 ItemEvent 사용하기
11.4 WindowEvent 사용하기
11.5 MouseEvent 사용하기
11.6 마우스 이벤트로 팝업 메뉴 만들기
이 장의 요점
12장 데이터 입출력
12.1 입출력 클래스의 종류
12.2 InputStream과 InputStreamReader 사용하기
12.3 FileInputStream과 FileReader 사용하기
12.4 BufferedInputStream과 BufferedReader 사용하기
12.5 OutputStream과 OutputStreamWriter 사용하기
12.6 FileOutputStream과 FileWriter 사용하기
12.7 BufferedOutputStream과 BufferedWriter 사용하기
12.8 DataInputStream과 DataOutputStream 사용하기
12.9 ObjectInputStream과 ObjectOutputStream으로 직렬화 사용하기
12.10 File 클래스 사용하기
이 장의 요점
13장 네트워크
13.1 네트워크의 개념
13.2 InetAddress 클래스
13.3 URL 클래스
13.4 URLConnection 클래스
13.5 TCP 소켓 프로그래밍
이 장의 요점