서브메뉴

본문

명품 JAVA Programming (귀로 배우는 자바가 아니라, 눈으로 몸으로 배우는 자바강좌)
명품 JAVA Programming (귀로 배우는 자바가 아니라, 눈으로 몸으로 배우는 자바강좌)
저자 : 황기태|김효수
출판사 : 생능출판사
출판년 : 2018
ISBN : 9788970509471

책소개

자바(Java)는 그 이전 시대에 있었던 프로그래밍 언어에서 한 차원 진화된 개념으로 개발된 가히 혁명적 언어이며 플랫폼이다. 한 번 작성된 자바 프로그램은 어느 컴퓨터, 어떤 운영체제에서도 실행될 수 있다. Write Once Run Anywhere의 세상이 만들어지는 것이다. 데스크톱, 웹 서버 및 웹 클라이언트, 셋톱 등의 임베디드 장치, 스마트폰을 중심으로 하는 모바일 단말기, 스마트 TV 등의 가전제품 등 생활과 산업의 전 분야에 사용되고 있다. 자바는 지난 10여 년 동안 소프트웨어 시장에서 가장 큰 지배력을 뽐내 왔으며, 현재에는 그 지배력이 더욱 두드러져, 미래 창조 시대를 지배할 프로그래밍 전문가들이 알아야 할 필수 언어이다.

이 책의 특징

첫째, 자바 프로그래밍 개념과 방법을 충실히 정리하고 적절한 예제를 수록하였다.
둘째, 많은 그림과 삽화로 개념을 쉽게 이해하도록 하였다.
셋째, 각 절마다 Check Time 문제를 두어 배운 내용을 확인할 수 있도록 하였다.
넷째, 연습문제는 이론문제와 실습문제로 나누었고, 홀수 번과 짝수 번을 유사한 문제로 꾸며, 반복 연습해 볼 수 있도록 구성하였다.
다섯째, 각 장마다 Open Challenge 문제를 두어 도전하는 과정을 두었다.

개정4판에서 추가되거나 달라진 부분

1. 1장과 6.1절에 모듈의 개념을 언급하고, 6.4절을 추가하여 모듈 개념, 모듈 기반 자바 실행 환경, 모듈화의 목적 등을 간략히 소개하였다.
2. Java 8, 9에서 인터페이스 정의가 바뀌었기 때문에 5장 인터페이스 부분을 수정하였다.
3. 6.7절 Wrapper 클래스 부분을 갱신하였다. Java 9부터 생성자를 이용하여 Wrapper 객체를 생성하는 방법이 폐기되었기 때문이다.
4. 3장에는 변수 타입을 추론하는 var 키워드를 Tip으로 설명하고(Java 10), 7.2절에 컬렉션 객체 생성 시 타입 추론을 이용하는 내용을 삽입하였다(Java 7, 10).
5. 소스 코드는 JDK 10을 지원하는 이클립스 Oxygen4.7.3a 프로젝트로 만들었다. 본문에 넣기에는 다소 어려운 부분을 홈페이지에서 자료로 제공한다.
6. 자바의 람다식 기초.pdf - 자바로 람다식을 만드는 기초를 설명한다.
7. 이클립스로 모듈 만들기.pdf - 모듈을 만드는 과정을 간단히 작성하였다.
8. jlink로 응용프로그램 맞춤형 실행 환경 만들기.pdf - 커스텀 JRE를 만드는 사례를 소개하고, 크기와 실행시간 메모리의 성능이 향상됨을 보였다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

1장에서는 자바가 태어난 배경과 그 발전 과정을 알아보고, 자바의 특징 및 자바가 사용되는 다양한 분야에 대해 알아본다. 2장에서는 자바 프로그램의 기본 구성과 그 요소에 대해 알아본다.
즉, 자바 프로그래밍을 위한 클래스, 변수, 메소드, 상수에 이름을 붙이고, 이들을 선언하는 방법에 대해 알아보고, 산술 연산자, 비트 연산자, 논리 연산자 등 연산자와 프로그램 제어를 위한 if, if-else, switch 등의 조건문에 대해 알아본다. 3장에서는 반복문과 배열에 대해 알아본다.
또한 배열을 다루다보면 인덱스가 배열의 범위를 벗어나는 경우가 생기는데, 이러한 예외 상황을 자바가 어떻게 처리하는지도 간단히 알아본다.
4장에서는 객체 지향 언어의 기본이라 할 수 있는 클래스와 객체에 대한 개념과 객체 생성 방법, 객체의 구성 등에 대해 다룬다. 5장에서는 상속의 개념을 설명하고, 서브 클래스를 작성하는 방법, 동적 바인딩 등의 내용을 설명한다. 또한 추상 클래스와 인터페이스에 대한 내용을 설명한다.
6장에서는 패키지를 만들고 사용하는 방법을 자세히 설명한다. 모듈 개념, 모듈 기반 자바 실행 환경, 모듈화의 목적 등을 간략히 소개하였다. 또한 자바 응용프로그램 작성 시 많이 사용하는 JDK에서 제공하는 기본 패키지와 클래스의 사용에 대해 설명한다.
7장에서는 여러 개의 객체들을 저장하고 다루는 컬렉션에 대해 설명한다. 또한 코드의 재사용과 관련된 제네릭(generic)의 개념과 활용에 대해 설명한다. 8장에서는 자바에서의 입출력 스트림의 기본 개념을 설명한다.
또한 다양한 API를 소개하고 자바 응용프로그램이 키보드, 콘솔 등 여러 입출력 장치로부터 데이터를 입출력하거나 파일을 입출력하는 방법을 설명한다. 9장에서는 메뉴나 이미지, 그래픽을 이용하여 화면에 보여주고 사용자로부터 마우스를 이용한 다양한 입력을 받을 수 있는 GUI 방법을 소개한다.
그리고 자바와 스윙(Swing) 패키지를 대상으로 기본적인 GUI 응용프로그램을 작성하는 방법을 설명한다. 또한 자바 GUI의 기본 체제인 컨테이너와 컴포넌트의 구성을 이해하고 프레임을 만드는 방법과 컨테이너가 컴포넌트를 배치하는 여러 가지 방법 등을 다룬다.
10장에서는 어떤 이벤트가 발생하고, 이벤트를 처리하는 리스너는 어떻게 작성하며, 이벤트 리스너는 발생한 이벤트에 관한 정보를 어떻게 얻는지 등 제반 사항을 배운다.
11장에서는 많이 사용되는 기본적인 스윙 컴포넌트들을 소개하며, Item 이벤트와 Change 이벤트를 활용하는 방법도 소개한다. 12장에서는 화면에 자유롭게 도형이나 이미지를 출력할 수 있는 Graphics의 기능을 이해하고 활용하는 방법을 다룬다.
13장에서는 스레드 개념, 스레드 만들기, JVM와 스레드, 스레드 변이, 스레드 동기화 등을 다룬다. 14장에서는 사용하기 쉬운 몇몇 고급 스윙 컴포넌트를 소개한다. 또한 응용프로그램을 작성하는 데 필수적인 메뉴, 툴바, 툴팁, 다양한 팝업 다이얼로그, 파일 입출력을 위한 파일 열기/저장 다이얼로그, 색상 선택을 위한 컬러 다이얼로그, 다수의 팬을 가지는 탭팬 등을 다룬다. 디지털 오디를 제어하는 방법을 배운다.
15장에서는 TCP/IP 프로토콜에 대해 간단히 알아보고, 자바의 소켓을 이용하여 클라이언트와 서버가 어떻게 데이터를 주고받는지 알아보며, 프로그래밍하는 기법을 설명한다.
그리고 웹과 관련된 URL 클래스를 이용한 네트워크 프로그래밍과 웹을 비롯한 기타 네트워크 응용프로그램의 기초가 되는 소켓 프로그래밍을 공부한다.
16장에서는 데이터베이스에 대해 간단히 알아본 후 자바의 JDBC를 이용하여 데이터베이스를 생성하고, 접속하고, 데이터를 생성ㆍ수정ㆍ삭제ㆍ검색 등을 수행하는 자바 응용프로그램을 작성하는 기법에 대해서 설명한다.
[교보문고에서 제공한 정보입니다.]

목차정보

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 11 기본적인 스윙 컴포넌트와 활용
11.1 스윙 컴포넌트 소개
11.2 JLabel, 레이블 컴포넌트
11.3 JButton, 버튼 컴포넌트
11.4 JCheckBox, 체크박스 컴포넌트
11.5 JRadioButton, 라디오버튼 컴포넌트
11.6 JTextField,텍스트필드 컴포넌트
11.7 JTextArea, 텍스트영역 컴포넌트
11.8 JList, 리스트 컴포넌트
11.9 JComboBox, 콤보박스 컴포넌트
11.10 JSlider, 슬라이더 컴포넌트
요약
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
연습문제
[교보문고에서 제공한 정보입니다.]

QuickMenu