자바(Java)는 그 이전 시대에 있었던 프로그래밍 언어에서 한 차원 진화된 개념으로 개발된 가히 혁명적 언어이며 플랫폼이다. 한 번 작성된 자바 프로그램은 어느 컴퓨터, 어떤 운영체제에서도 실행될 수 있다. Write Once Run Anywhere의 세상이 만들어지는 것이다. 데스크톱, 웹 서버 및 웹 클라이언트, 셋톱 등의 임베디드 장치, 스마트폰을 중심으로 하는 모바일 단말기, 스마트 TV 등의 가전제품 등 생활과 산업의 전 분야에 사용되고 있다. 자바는 지난 10여 년 동안 소프트웨어 시장에서 가장 큰 지배력을 뽐내 왔으며, 현재에는 그 지배력이 더욱 두드러져, 미래 창조 시대를 지배할 프로그래밍 전문가들이 알아야 할 필수 언어이다.
Contents
CHAPTER 01 자바 시작
1.1 컴퓨터와 프로그래밍
1.2 자바의 출현과 WORA
1.3 개발 도구와 자바 플랫폼
1.4 자바 프로그램 개발
1.5 이클립스를 이용한 자바 프로그램 개발
1.6 자바 언어의 활용
1.7 자바의 특징
요약
Open Challenge
연습문제
CHAPTER 02 자바 기본 프로그래밍
2.1 자바 프로그램의 구조
2.2 식별자
2.3 자바의 데이터 타입
2.4 자바에서 키 입력
2.5 연산
2.6 조건문
요약
Open Challenge
연습문제
CHAPTER 03 반복문과 배열 그리고 예외 처리
3.1 반복문
3.2 continue 문과 break 문
3.3 배열
3.4 다차원 배열
3.5 메소드에서 배열 리턴
3.6 main() 메소드
3.7 자바의 예외 처리
요약
Open Challenge
연습문제
CHAPTER 04 클래스와 객체
4.1 객체 지향과 자바
4.2 자바 클래스 만들기
4.3 생성자
4.4 객체 배열
4.5 메소드 활용
4.6 객체의 소멸과 가비지 컬렉션
4.7 접근 지정자
4.8 static 멤버
4.9 final
요약
Open Challenge
연습문제
CHAPTER 05 상속
5.1 상속의 개념
5.2 클래스 상속과 객체
5.3 상속과 protected 접근 지정자
5.4 상속과 생성자
5.5 업캐스팅과 instanceof 연산자
5.6 메소드 오버라이딩
5.7 추상 클래스
5.8 인터페이스
요약
Open Challenge
연습문제
CHAPTER 06 모듈과 패키지 개념, 자바 기본 패키지
6.1 패키지(Package)
6.2 import와 클래스 경로
6.3 패키지 만들기
6.4 모듈 개념
6.5 자바 JDK에서 제공하는 패키지
6.6 Object 클래스
6.7 Wrapper 클래스
6.8 String 클래스
6.9 StringBuffer 클래스
6.10 StringTokenizer 클래스
6.11 Math 클래스
6.12 Calendar 클래스
요약
Open Challenge
연습문제
CHAPTER 07 제네릭과 컬렉션
7.1 컬렉션과 제네릭
7.2 제네릭 컬렉션 활용
7.3 제네릭 만들기
요약
Open Challenge
연습문제
CHAPTER 08 입출력 스트림과 파일 입출력
8.1 자바의 입출력 스트림
8.2 문자 스트림과 파일 입출력
8.3 바이트 스트림과 파일 입출력
8.4 버퍼 입출력과 파일 입출력
8.5 File 클래스
8.6 파일 입출력 응용: 파일 복사
요약
Open Challenge
연습문제
CHAPTER 09 자바 GUI 기초, AWT와 스윙(Swing)
9.1 자바의 GUI
9.2 자바 GUI 패키지
9.3 스윙 GUI 프로그램 만들기
9.4 컨테이너(Container)와 배치(Layout)
9.5 FlowLayout 배치관리자
9.6 BorderLayout 배치관리자
9.7 GridLayout 배치관리자
9.8 배치관리자 없는 컨테이너
요약
Open Challenge
연습문제
CHAPTER 10 자바의 이벤트 처리
10.1 이벤트 기반 프로그래밍(Event Driven Programming)
10.2 이벤트 객체
10.3 이벤트 리스너
10.4 어댑터(Adapter) 클래스
10.5 KeyEvent와 KeyListener
10.6 MouseEvent와 MouseListener, MouseMotionListener, MouseWheelListener
요약
Open Challenge
연습문제
CHAPTER 12 그래픽
12.1 스윙 컴포넌트 그리기
12.2 Graphics
12.3 도형 그리기와 칠하기
12.4 이미지 그리기
12.5 클리핑(Clipping)
12.6 스윙의 페인팅 메커니즘
요약
Open Challenge
연습문제
CHAPTER 13 스레드와 멀티태스킹
13.1 멀티태스킹
13.2 자바의 멀티스레딩
13.3 스레드 만들기
13.4 스레드 생명 주기와 스케줄링
13.5 스레드 종료
13.6 스레드 동기화(Thread Synchronization)
13.7 wait(), notify(), notifyAll()을 이용한 스레드 동기화
요약
Open Challenge
연습문제
CHAPTER 14 고급 스윙 컴포넌트
14.1 메뉴 만들기
14.2 툴바
14.3 툴팁
14.4 다이얼로그 만들기
14.5 팝업 다이얼로그
14.6 파일 다이얼로그
14.7 컬러 다이얼로그
14.8 탭팬
14.9 자바 오디오 다루기
요약
Open Challenge
연습문제
CHAPTER 15 네트워크
15.1 TCP/IP
15.2 소켓 프로그래밍
15.3 서버-클라이언트 채팅 프로그램 만들기
15.4 수식 계산 서버-클라이언트 만들기 실습
요약
Open Challenge
연습문제
Check Time 정답
CHAPTER 16 JDBC 프로그래밍
16.1 데이터베이스
16.2 MySQL
16.3 MySQL Workbench를 이용한 데이터베이스 활용
16.4 자바의 JDBC 프로그래밍
요약
Open Challenge
연습문제
Author
황기태,김효수
1986년 서울대학교 컴퓨터공학과를 졸업하고, 서울대 대학원 컴퓨터공학과에 입학하여 1988년에 석사, 1994년에 박사 학위를 취득하였다. 1993년 뉴욕에 있는 IBM WATSON RESEARCH CENTER에서 방문 연구원을 지내고 1994년부터 현재까지 한성대학교 컴퓨터공학과 교수로 재직 중이다. 1990년 비트교육센터의 초기 센터장으로 1994년까지 조현정 회장과 함께 대한민국 최고의 비트교육센터 신화의 토대를 만들었다. 2000년에는 미국 얼바인에 있는 캘리포니아 대학에서, 2011, 2015년에는 플로리다 대학에서 방문 교수를 지냈다.
1986년 서울대학교 컴퓨터공학과를 졸업하고, 서울대 대학원 컴퓨터공학과에 입학하여 1988년에 석사, 1994년에 박사 학위를 취득하였다. 1993년 뉴욕에 있는 IBM WATSON RESEARCH CENTER에서 방문 연구원을 지내고 1994년부터 현재까지 한성대학교 컴퓨터공학과 교수로 재직 중이다. 1990년 비트교육센터의 초기 센터장으로 1994년까지 조현정 회장과 함께 대한민국 최고의 비트교육센터 신화의 토대를 만들었다. 2000년에는 미국 얼바인에 있는 캘리포니아 대학에서, 2011, 2015년에는 플로리다 대학에서 방문 교수를 지냈다.