베스트셀러

베스트셀러

Power JAVA 3판

  • 저자천인국
  • 발행일2022-02-25
  • 정가35,000원
  • 페이지796 페이지
  • ISBN979-11-85578-98-9
  • 일반자료 소스파일
    18장 PDF 파일
    정오표
  • 책소개
  • 저자소개
  • 목차
  • 출판사 서평

JAVA 최신 버전 내용 수록!

기초부터 고급까지 한 권으로 끝내는 JAVA 프로그래밍

JAVA는 객체 지향을 완벽하게 지원하는 언어로 여전히 서버, 안드로이드 개발에 주로 사용되고 있다. 개발자들이 반드시 알아야 하는 필수 언어이지만 입문자가 이해하기에 다소 어려움이 있다. 이 책은 JAVA 입문자들이 쉽고 재미있게 학습할 수 있도록 게임, 인공지능, 그래픽 관련 흥미로운 LAB, Mini Project를 수록하였고 문답식 설명과 다양한 그림 자료를 활용하여 친절하게 설명했다.

최신 버전인 JDK 16 내용을 담았고 특히 람다식, 스트림을 주축으로 하는 함수형 프로그래밍은 챕터를 별도로 두어 다루었다. 모듈에 관한 내용도 추가했고 기존 2판 내용 중에서 멀티 스레딩 부분을 보강했다.


천인국

서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터 공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.

저서로는 인공지능(2020, 인피니티북스), 스크래치로 배우는 컴퓨팅 사고와 문제해결(2019, 인피니티북스), OpenCV를 이용한 디지털 영상처리(2019, 인피니티북스), Power Java Compact(2018, 인피니티북스), 어서와 C++는 처음이지!(2018, 인피니티북스), 문제해결과 컴퓨팅 사고(2017, 인피니티북스), 문제해결과 컴퓨팅 사고를 위한 스크래치(2017, 인피니티북스), 문제해결과 컴퓨팅 사고를 위한 파이썬(2017, 인피니티북스), 어서와 파이썬은 처음이지!(2016, 인피니티북스), 어서와 Java는 처음이지!(2015, 인피니티북스), 어서와 C언어는 처음이지!(2015, 인피니티북스), HTML5+CSS3+자바스크립트로 배우는 웹프로그래밍 기초(2014, 인피니티북스), Power JAVA 2(2012, 인피니티북스), C++ Espresso(2010, 인피니티북스), Power C++(2010, 인피니티북스), 쉽게 풀어쓴 C언어 Express(2007, 생능출판사), C언어로 쉽게 풀어쓴 자료구조(2005, 생능출판사) 등이 있다.

CHAPTER 01 자바 소개와 개발도구 설치

1.1 자바의 역사

1.2 자바의 특징

1.3 자바의 용도

1.4 가상 기계

1.5 자바의 종류와 버전

1.6 JDK 설치

1.7 명령어 버전 JDK 사용하기

1.8 이클립스 소개와 설치

1.9 이클립스로 첫 번째 프로그램 작성

LAB 이클립스 사용

Solution 이클립스 사용

1.10 컴파일 오류

1.11 이클립스로 프로젝트 내보내기 & 읽기

1.12 자바 참고 문서

Mini Project 사칙 연산 프로그램

Summary

Exercise

Programming

CHAPTER 02 자바 프로그래밍 기초

2.1 자바 프로그램 구성 요소

2.2 변수와 자료형

2.3 콘솔에서 입력받기

2.4 수식과 연산자

Mini Project 섭씨-화씨 온도 변환

Summary

Exercise

Programming

CHAPTER 03 조건문, 반복문, 배열

3.1 if-else

3.2 switch

3.3 for

3.4 while

3.5 배열

3.6 2차원 배열

3.7 ArrayList

Mini Project 숫자 추측 게임

Summary

Exercise

Programming

CHAPTER 04 클래스와 객체 I

4.1 객체 지향 프로그래밍이란?

4.2 클래스와 객체 만들기

4.3 생성자와 메소드 오버로딩

4.4 접근 제어

LAB 안전한 배열 만들기

4.5 무엇을 클래스로 만들어야 할까?

LAB 자동차 클래스 작성

Solution 자동차 클래스 작성

LAB 은행 계좌 클래스 작성

LAB 윈도우 생성해보기

Mini Project 주사위 게임

Summary

Exercise

Programming

CHAPTER 05 클래스와 객체 II

5.1 객체의 생성과 소멸

5.2 인수 전달 방법

5.3 정적 멤버

LAB 싱글톤 패턴

5.4 객체 배열

Mini Project 전기 자동차

Mini Project 책 정보 저장

Summary

Exercise

Programming

CHAPTER 06 상속

6.1 상속

6.2 상속과 접근 지정자

6.3 상속과 생성자

6.4 메소드 오버라이딩

6.5 다형성

LAB 도형 면적 계산하기

LAB 동물 다형성

6.6 상속 vs 구성

Mini Project 카드와 덱

Mini Project 황금 획득 게임

Summary

Exercise

Programming

CHAPTER 07 추상 클래스, 인터페이스, 중첩 클래스

7.1 추상 클래스

7.2 인터페이스

7.3 인터페이스를 이용한 다중 상속

7.4 디폴트 메소드와 정적 메소드

LAB 자율 주행 자동차

Solution 자율 주행 자동차

LAB 객체 비교하기

Solution 객체 비교하기

LAB 타이머 이벤트 처리

Solution 타이머 이벤트 처리

7.5 중첩 클래스

7.6 익명 클래스

Mini Project (Queue)

Summary

Exercise

Programming

CHAPTER 08 자바 API 패키지, 예외 처리, 모듈

8.1 패키지란?

8.2 패키지 선언하기

8.3 패키지 사용하기

8.4 클래스 파일은 언제 로드될까?

8.5 자바 API 패키지

8.6 Object 클래스

8.7 랩퍼 클래스

8.8 String 클래스

8.9 기타 유용한 클래스

8.10 예외 처리란?

8.11 모듈

Mini Project 글자 추측 게임

Summary

Exercise

Programming

CHAPTER 09 자바 GUI 기초

9.1 자바 GUI 소개

9.2 자바 GUI 기초

9.3 컨테이너 살펴보기

9.4 배치 관리자

9.5 스윙 비주얼 디자이너: WindowBuilder

9.6 기초 컴포넌트들

LAB 계산기 예제

Mini Project 이미지 뷰어

Summary

Exercise

Programming

CHAPTER 10 GUI 이벤트 처리

10.1 이벤트 처리 개요

10.2 이벤트 처리 방법

10.3 스윙 컴포넌트의 이벤트

LAB 키패드 만들기

LAB 가위 바위 보 게임

10.4 키 이벤트

10.5 MouseMouseMotion 이벤트

10.6 어댑터 클래스

Mini Project 계산기 프로그램

Mini Project Tic-Tac-Toe 게임

Mini Project 지뢰 찾기 게임

Summary

Exercise

Programming

CHAPTER 11 스윙 컴포넌트

11.1 스윙 컴포넌트 소개

11.2 레이블과 버튼의 고급 기능

11.3 텍스트 필드와 텍스트 영역

11.4 체크 박스

11.5 라디오 버튼

11.6 콤보 박스

11.7 메뉴 붙이기

11.8 슬라이더

Mini Project 피자 주문

Mini Project 입회원서

Summary

Exercise

Programming

CHAPTER 12 자바 그래픽

12.1 그래픽 프로그래밍의 기초

12.2 색상과 폰트 변경하기

12.3 기초 도형 그리기

12.4 이미지 출력 및 처리

12.5 그래픽과 이벤트의 결합

LAB 반사되는 공 애니메이션

LAB 영상 처리

LAB 움직이는 사진

Mini Project 신호등 프로그램

Mini Project 탁구 게임

Mini Project 벽돌깨기 게임

Mini Project 갤러그 게임 I

Summary

Exercise

Programming

CHAPTER 13 제네릭과 컬렉션

13.1 제네릭 프로그래밍

13.2 컬렉션이란?

13.3 벡터

13.4 ArrayList

13.5 LinkedList

13.6 Set

13.7 Map

13.8 Queue

13.9 Collections 클래스

LAB 영어사전

Mini Project 카드 게임

Mini Project 두더지 게임

Summary

Exercise

Programming

CHAPTER 14 함수형 프로그래밍, 람다식, 스트림

14.1 함수형 프로그래밍의 소개

14.2 람다식

LAB 타이머 프로그램

Solution 타이머 프로그램

14.3 동작 매개 변수화

14.4 함수형 인터페이스

14.5 메소드 참조

14.6 스트림 API

Mini Project 상품 검색하기

Summary

Exercise

Programming

CHAPTER 15 파일 입출력

15.1 입출력 스트림

15.2 문자 스트림

15.3 바이트 스트림

15.4 중간 처리 스트림

15.5 객체 저장하기

15.6 파일 객체

LAB 디렉터리 파일 검색 및 문장 추가

Solution 디렉터리 파일 검색 및 문장 추가

LAB 압축(ZIP) 파일 해제하기

LAB 파일 암호화하기

Solution 파일 암호화하기

LAB 파일에서 특정 문자 횟수 세기

Mini Project CSV 파일 읽기

Mini Project 시저 암호화

Summary

Exercise

Programming

CHAPTER 16 멀티 스레딩

16.1 멀티 태스킹

16.2 스레드 생성과 실행

LAB 자동차 경주 게임 만들기

Solution 자동차 경주 게임 만들기

16.3 스레드 스케줄링

16.4 동기화

16.5 스레드 간의 조정

LAB 공 움직이기

Solution 공 움직이기

Mini Project 갤러그 게임 II

Summary

Exercise

Programming

CHAPTER 17 네트워크 프로그래밍

17.1 네트워크 프로그래밍의 기본 개념

17.2 인터넷에서 파일 다운로드하기

17.3 TCP를 이용한 통신

17.4 서버와 클라이언트 제작

17.5 UDP를 이용한 통신

17.6 UDP를 이용한 서버와 클라이언트 작성하기

Mini Project 다자 회의 시스템

Summary

Exercise

Programming

CHAPTER 18 데이터베이스 프로그래밍

18.1 자바와 데이터베이스

18.2 데이터베이스의 기초

18.3 SQL

18.4 JDBC를 이용한 프로그래밍

18.5 Prepared Statements 사용하기

LAB GUI로 데이터베이스 내용 표시하기

Solution GUI로 데이터베이스 내용 표시하기

18.6 JDBC를 사용하여 이미지 저장하기

18.7 JDBC를 사용하여 텍스트 파일 저장하기

Mini Project 명예의 전당

Summary

Exercise

Programming

찾아보기

직관적인 그림과 풍부한 예제로

더 쉽고 재밌게 JAVA를 배워보자!

최신 언어들이 등장하고 있지만 JAVA는 여전히 많이 쓰이고 있는 중요한 언어이다. JAVA의 대표적인 특징인 객체 지향은 낯설고 이해하기 어렵다. 이 책은 객체 지향 개념에 대해 페이지를 아끼지 않고 자세하게 설명하고 있으며 개념을 잘 나타내는 그림으로 이해하기 쉽게 풀어서 설명한다. 개념 학습과 함께 Mini Project 27, LAB 30, 연습 문제 193, 프로그래밍 문제 169개를 풀어보면서 프로그래밍 실력도 기를 수 있다.

[책의 특징]

- 적절한 그림을 통하여 중요한 개념들을 빠르게 학습

- 함수형 프로그래밍, 람다식, 모듈, Stream API 등 최신 JDK 16 내용 수록

- 기초부터 함수형 프로그래밍, 스레드, 네트워크 프로그래밍, 데이터베이스 프로그래밍까지 JAVA의 거의 모든 핵심적인 주제 수록

- 객체 지향 개념과 원리를 구체적인 예를 들어서 자세하고 쉽게 설명

- 다양하고 흥미로운 Lab, Mini Project, 연습 문제, 실습 문제 제공

- 핵심 개념을 점검할 수 있도록 각 섹션마다 중간 점검 문제 제공

[학습 단계]

1. 학습 목표 설정

- 학습하게 되는 장의 학습 목표를 구체적으로 살펴본다.

2. 본문 학습

- 풍부한 그림과 쉬운 설명으로 개념을 확실하게 이해한다.

3. 중간 점검 문제

- 한 단원이 끝나면 학습한 내용을 퀴즈로 점검한다.

4. LAB

- 실습을 통하여 학습한 내용을 다시 한번 복습한다.

5. Mini Project

- 간단한 프로젝트 문제로 기말 과제로도 사용할 수 있다.

6. 연습 및 프로그래밍 문제

- 오류 찾기, 빈칸 채우기, 프로그램 작성 등의 다양한 문제를 풀어본다.