장바구니 담기 close

장바구니에 상품을 담았습니다.

자바 프로그래밍(Java for Programmers)

자바 프로그래밍(Java for Programmers)

  • 폴 J. 디텔
  • |
  • 비팬북스
  • |
  • 2012-08-24 출간
  • |
  • 1084페이지
  • |
  • 238 X 180 X 60 mm /2000g
  • |
  • ISBN 9788994797052
판매가

38,000원

즉시할인가

34,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
34,200

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

이 책은 자바 전문 서적과 교과서를 집필하는 디텔 & 어소시에이티즈사의 DEITEL DEVELOPER SERIES 중에서 라이브 코드 방식으로 작성된 책입니다. 라이브 코드(live-code) 방식이라 함은 실제 실행 가능한 예제 코드와 실행 결과를 토대로 자바의 각종 특징과 기능을 설명하는 것을 의미합니다. 이를 반영하듯 이 책에는 수 년 동안 개발되고 검증되는 과정 중에, 안정성이 확보된 200개 이상의 예제가 수록되어 있으며, 예제의 각 코드 라인에 대한 설명이 자세하게 되어 있어서 자바를 제대로 공부하려는 분들에게 적합한 책입니다.

이 책은 초보 자바 프로그래머가 알아야 할 기본적인 문법 사항부터 GUI, 그래픽, 예외 처리, 네트워킹, 멀티스레딩, 제네릭, JDBC, JSF를 이용한 웹 어플리케이션 개발, 웹 서비스와 같은 중고급 주제까지 폭 넓게 다루고 있습니다. 이 책에는 모두 18,000 라인이 넘는 자바 코드가 들어 있으며, 실행 가능한 어플리케이션도 220개에 이르고 있습니다. 물론 코드에 대한 자세한 설명도 덧붙여져 있습니다. 따라서 이 책은 자바를 처음 공부하려는 이들이나 현업에서 활동하고 있는 자바 프로그래머 중에서 자바의 핵심 기술을 습득하려는 이들에게 적합할 것입니다. 이 책에 제시되어 있는 코드를 하나씩 분석하고 실행하면서, 책에 제시되어 있는 실행 결과와 비교해 보고, 또 다양한 방식으로 응용하다 보면 탄탄한 자바 프로그래머로 자리 잡을 수 있을 것입니다.

목차

사전 준비

1장 소개
1.1 소개
1.2 인터넷과 월드 와이드 웹
1.3 C와 C++의 역사
1.4 Java의 역사
1.5 자바 클래스 라이브러리
1.6 일반적인 자바 개발 환경
1.7 Java에 대한 참고사항 및 프로그래머를 위한 Java
1.8 자바 어플리케이션 시험 구동
1.9 마무리
1.10 웹 리소스

2장 자바 어플리케이션 소개
2.1 소개
2.2 자바에서의 첫 번째 프로그램: 텍스트 라인 출력하기
2.3 첫 번째 자바 프로그램 수정하기
2.4 printf로 텍스트 표시하기
2.5 Java 어플리케이션: 정수 덧셈
2.6 산술
2.7 의사 결정: 등호 연산자 및 관계 연산자
2.8 마무리

3장 클래스와 객체 소개
3.1 소개
3.2 클래스, 객체, 메서드, 인스턴스 변수
3.3 메서드를 가진 클래스 선언, 클래스의 객체 인스턴스화
3.4 매개변수를 가지는 메서드 선언
3.5 인스턴스 변수, set 메서드, get 메서드
3.6 기본형과 참조형
3.7 생성자로 객체 초기화하기
3.8 부동 소수점 숫자와 double 타입
3.9 마무리

4장 제어문 1
4.1 소개
4.2 제어 구조
4.3 if 단일 선택 구문
4.4 if…else 이중 선택 구문
4.5 while 반복문
4.6 카운터 제어 반복
4.7 감시값 제어 반복
4.8 중첩 제어 구문
4.9 복합 할당 연산자
4.10 증감 연산자
4.11 기본형
4.12 마무리

5장 제어문 2
5.1 소개
5.2 카운터 제어 반복의 핵심
5.3 for 반복문
5.4 for 문 사용의 예
5.5 do ... while 반복문
5.6 switch 다중 선택 문
5.7 break 문과 continue 문
5.8 논리 연산자
5.9 마무리

6장 메서드
6.1 소개
6.2 Java의 프로그램 모듈
6.3 static 메서드, static 필드, Math 클래스
6.4 다수의 파라미터가 있는 메서드 선언
6.5 메서드의 선언과 사용에 대한 참고사항
6.6 메서드 호출 스택과 활성 레코드 1
6.7 아규먼트 승격과 캐스팅
6.8 Java API 패키지
6.9 사례 연구: 임의의 번호 생성
6.9.1 난수의 스케일링과 쉬프팅
6.9.2 테스팅과 디버깅을 위한 난수 반복
6.10 사례 연구: 확률 게임
6.11 선언의 범위
6.12 메서드 오버로딩
6.13 재귀 소개
6.14 재귀의 개념
6.15 재귀 사용의 예: 펙토리얼
6.16 재귀 사용의 예: 피보나치 수열
6.17 재귀와 메서드 호출 스택
6.18 재귀와 반복
6.19 마무리

7장 배열
7.1 소개
7.2 배열
7.3 배열의 선언과 생성
7.4 배열 사용의 예
7.5 사례 연구: 카드 셔플링과 딜링 시뮬레이션
7.6 향상된 for 문
7.7 메서드에 배열 전달하기
7.8 사례 연구: 배열을 사용하여 성적 저장, GradeBook 클래스
7.9 다차원 배열
7.10 사례 연구: 2차원 배열을 사용하는 GradeBook 클래스
7.11 가변 길이 아규먼트 목록
7.12 커맨드 라인 아규먼트 사용하기
7.13 마무리

8장 클래스와 객체: 자세히 들여다보기
8.1 소개
8.2 Time 클래스 사례 연구
8.3 멤버에 대한 액세스 제어
8.4 this 레퍼런스로 현재 객체의 멤버 참조하기
8.5 Time 클래스 사례 연구: 오버로드된 생성자
8.6 기본 생성자와 인수없는 생성자
8.7 set 메서드와 get 메서드에 대한 참고 사항
8.8 컴포지션
8.9 열거
8.10 가비지 수집과 finalize 메서드
8.11 static 클래스 멤버
8.12 static import
8.13 final 인스턴스 변수
8.14 소프트웨어 재사용
8.15 데이터 추상화와 캡슐화
8.16 Time 클래스 사례 연구: 패키지 만들기
8.17 패키지 접근
8.18 마무리

9장 객체지향 프로그래밍: 상속
9.1 소개
9.2 수퍼클래스와 서브클래스
9.3 protected 멤버
9.4 수퍼클래스와 서브클래스의 관계
9.4.1 CommissionEmployee 클래스 생성 및 사용
9.4.2 BasePlusCommissionEmployee 클래스 생성; 상속 미사용
9.4.3 CommissionEmployee-BasePlusCommissionEmployee 상속 계층 구조 생성
9.4.4 CommissionEmployee-BasePlusCommissionEmployee 상속 계층 구조; protected 인스턴스 변수 사용
9.4.5 CommissionEmployee-BasePlusCommissionEmployee 상속 계층 구조; private 인스턴스 변수 사용
9.5 서브클래스에 있는 생성자들
9.6 상속과 소프트웨어 공학
9.7 Object 클래스
9.8 마무리

10장 객체지향 프로그래밍: 다형성
10.1 소개
10.2 다형성 예제
10.3 다형적 동작 시연하기
10.4 추상 클래스 및 메서드
10.5 사례 연구: 다형성을 이용하는 급여 지불 시스템
10.5.1 추상 수퍼클래스 Employee 생성하기
10.5.2 구상 서브클래스 SalariedEmployee 생성하기
10.5.3 구상 서브클래스 HourlyEmployee 생성하기
10.5.4 구상 서브클래스 CommissionEmployee 생성하기
10.5.5 간접 구상 서브클래스 BasePlusCommissionEmployee 생성하기
10.5.6 다형적 처리, instanceof 연산자, 다운캐스팅
10.5.7 수퍼클래스 변수와 서브클래스 변수 사이에서 허용된 할당
10.6 final 메서드와 클래스
10.7 사례 연구: 인터페이스 생성 및 사용
10.7.1 Payable 계층 구조 개발하기
10.7.2 Payable 인터페이스 선언하기
10.7.3 Invoice 클래스 생성하기
10.7.4 Payable 인터페이스를 구현하기 위해 Employee 클래스 수정하기
10.7.5 SalariedEmployee 클래스 수정; Payable 계층 구조에서 사용
10.7.6 Invoices와 Employees의 다형적 처리: Payable 인터페이스 사용
10.7.7 인터페이스에서 상수 선언하기
10.7.8 Java API의 일반적인 인터페이스
10.8 마무리

11장 GUI 구성요소: 1부
11.1 소개
11.2 JOptionPane을 통한 간단한 GUI 기반 입/출력
11.3 Swing 구성 요소의 개요
11.4 윈도우에 텍스트와 이미지 표시하기
11.5 텍스트 필드; 중첩 클래스로 이벤트 처리
11.6 일반적인 GUI 이벤트 유형 및 리스너 인터페이스
11.7 이벤트 처리의 작동 방식
11.8 JButton
11.9 상태를 유지하는 버튼
11.9.1 JCheckBox
11.9.2 JRadioButton
11.10 JComboBox; 이벤트 처리에 익명 내부 클래스 사용하기
11.11 JList
11.12 다중 선택 목록
11.13 마우스 이벤트 처리하기
11.14 어댑터 클래스
11.15 JPanel 서브클래스로 마우스 드로잉
11.16 키 이벤트 처리
11.17 레이아웃 관리자
11.17.1 FlowLayout
11.17.2 BorderLayout
11.17.3 GridLayout
11.18 더 복잡한 레이아웃을 관리하기 위해 패널 사용하기
11.19 JTextArea
11.20 마무리

12장 그래픽 및 자바 2D
12.1 소개
12.2 그래픽 컨텍스트 및 그래픽 객체
12.3 색상 컨트롤
12.4 폰트 제어
12.5 선, 사각형, 타원형 그리기
12.6 아크 그리기
12.7 다각형과 폴리라인 그리기
12.8 Java 2D API
12.9 마무리

13장 예외처리
13.1 소개
13.2 예외처리 개요
13.3 예제: 예외처리 없이 0으로 나누기
13.4 예제: ArithmeticExceptions와 InputMismatchExceptions 처리하기
13.5 예외처리의 사용 시점
13.6 자바 예외 계층 구조
13.7 finally 블록
13.8 스택 풀기
13.9 printStackTrace, getStackTrace, getMessage
13.10 chained exception
13.11 새로운 예외 유형 선언하기
13.12 선행조건 및 후행조건
13.13 검증
13.14 마무리

14장 파일과 스트림
14.1 소개
14.2 데이터 계층
14.3 파일과 스트림
14.4 File 클래스
14.5 순차 액세스 텍스트 파일
14.5.1 순차 액세스 텍스트 파일 만들기
14.5.2 순차 액세스 텍스트 파일에서 데이터 읽기
14.5.3 사례 연구: 신용 조회 프로그램
14.5.4 순차 액세스 파일 업데이트하기
14.6 객체 직렬화
14.6.1 객체 직렬화를 사용하여 순차 액세스 파일 만들기
14.6.2 순차 액세스 파일에서 데이터 읽기 및 역직렬화하기
14.7 추가적인 java.io 클래스
14.8 JFileChooser로 파일 열기
14.9 마무리

15장 제네릭
15.1 소개
15.2 제네릭 메서드
15.3 제네릭 메서드: 구현 및 컴파일시 변환
15.4 또 다른 컴파일 시 번역 문제: 타입 매개변수를 반환 타입으로 사용하는 메서드
15.5 제네릭 메서드 오버로드하기
15.6 Generic 클래스
15.7 raw 타입
15.8 타입 매개변수를 받는 메서드의 와일드카드
15.9 제네릭과 상속: 참고사항
15.10 마무리

16장 컬렉션
16.1 소개
16.2 컬렉션 개요
16.3 Arrays 클래스
16.4 Collection 인터페이스와 Collections 클래스
16.5 List
16.5.1 ArrayList와 Iterator
16.5.2 LinkedList
16.5.3 Vector
16.6 컬렉션 알고리즘
16.6.1 sort 알고리즘
16.6.2 shuffle 알고리즘
16.6.3 reverse, fill, copy, max, min 알고리즘
16.6.4 binarySearch 알고리즘
16.6.5 addAll, frequency, disjoint 알고리즘
16.7 java.util 패키지의 Stack 클래스
16.8 PriorityQueue 클래스 및 Queue 인터페이스
16.9 Set
16.10 Map
16.11 Properties 클래스
16.12 동기화된 컬렉션
16.13 수정할 수 없는 컬렉션
16.14 마무리

17장 GUI 구성 요소: 2부
17.1 소개
17.2 JSlider
17.3 윈도우: 추가 사항
17.4 프레임이 있는 메뉴 사용하기
17.5 JPopupMenu
17.6 플러거블 모양 및 느낌
17.7 JDesktopPane 및 JInternalFrame
17.8 JTabbedPane
17.9 레이아웃 관리자 BoxLayout 및 GridBagLayout
17.10 마무리

18장 멀티스레딩
18.1 소개
18.2 스레드 상태: 스레드의 라이프 사이클
18.3 스레드 우선순위 및 스레드 스케줄링
18.4 스레드 생성 및 실행
18.4.1 Runnables 및 Thread 클래스
18.4.2 Executor 프레임워크로 스레드 관리
18.5 스레드 동기화
18.5.1 동기화되지 않은 데이터 공유하기
18.5.2 동기화된 데이터 공유 - 오퍼레이션을 Atomic으로 만들기
18.6 동기화 없는 생성자/소비자 관계
18.7 Producer/Consumer 관계: ArrayBlockingQueue
18.8 동기화된 Producer/Consumer 관계
18.9 Producer/Consumer 관계: 유한 버퍼
18.10 Producer/Consumer 관계: Lock과 Condition 인터페이스
18.11 GUI가 있는 멀티스레딩
18.11.1 Worker 스레드에서 계산 수행하기
18.11.2 SwingWorker로 중간 결과 처리하기
18.12 java.util.concurrent에 있는 기타의 클래스와 인터페이스
18.13 마무리

19장 네트워킹
19.1 소개
19.2 URL 조작하기
19.3 웹 서버에서 파일 읽기
19.4 Stream Socket을 사용하여 단순 서버 구축하기
19.5 Stream Socket을 사용하여 단순 클라이언트 구축하기
19.6 Stream Socket 연결과 클라이언트/서버 상호 작용
19.7 데이터그램과 비연결 지향 클라이언트/서버 상호 작용
19.8 클라이언트/서버 Tic-Tac-Toe: 멀티스레드 서버 사용
19.9 보안 및 네트워크
19.10 사례 연구: DeitelMessenger 서버와 클라이언트
19.11 마무리

20장 JDBC로 데이터베이스 접근
20.1 소개
20.2 관계형 데이터베이스
20.3 관계형 데이터베이스 개요: books 데이터베이스
20.4 SQL
20.4.1 기본 SELECT 쿼리
20.4.2 WHERE 절
20.4.3 ORDER BY 절
20.4.4 여러 테이블에서 데이터 병합하기: INNER JOIN
20.4.5 INSERT 구문
20.4.6 UPDATE 구문
20.4.7 DELETE 구문
20.5 MySQL과 MySQL Connector/J 설치를 위한 지침
20.6 MySQL 사용자 계정 설정하기
20.7 MySQL에서 데이터베이스 books 생성하기
20.8 JDBC로 데이터베이스 조작하기
20.8.1 데이터베이스로 연결하기와 쿼리하기
20.8.2 books 데이터베이스 쿼리하기
20.9 RowSet 인터페이스
20.10 자바 DB/아파치 Derby
20.11 PreparedStatements
20.12 저장 프로시저
20.13 트랜잭션 처리
20.14 마무리

21장 JSF 웹 어플리케이션
21.1 소개
21.2 간단한 HTTP 트랜잭션
21.3 다중 계층 어플리케이션 아키텍처
21.4 자바 웹 기술
21.4.1 서블릿
21.4.2 JSP
21.4.3 JSF
21.4.4 Netbeans에서의 웹 기술
21.5 Netbeans에서 간단한 어플리케이션 생성 및 실행하기
21.5.1 JSP 문서 살펴보기
21.5.2 페이지 빈 파일 살펴보기
21.5.3 이벤트 처리 라이프 사이클
21.5.4 Netbeans에서 웹 어플리케이션 빌드하기
21.6 JSF 구성 요소
21.6.1 텍스트 및 그래픽 구성 요소
21.6.2 유효성 검사: Validator 구성 요소 및 사용자 정의 Validator 사용
21.7 세션 추적
21.7.1 쿠키
21.7.2 세션 Beans로 세션 추적하기
21.8 마무리

22장 Ajax 활성화된 JSF 웹 어플리케이션
22.1 소개
22.2 웹 어플리케이션에서 데이터베이스 액세스하기
22.2.1 데이터베이스에서 데이터를 표시하는 웹 어플리케이션 구축하기
22.2.2 AddressBook 어플리케이션의 페이지 Bean 파일 수정하기
22.3 Ajax 활성화된 JSF 구성 요소
22.4 자동 완성 Text Field 생성 및 가상 양식 사용하기
22.4.1 가상 양식 구성하기
22.4.2 가상 양식과 자동 완성 Text Field를 가지는 JSP 파일
22.4.3 자동 완성 Text Field를 위한 제안 기능
22.4.4 연락처 정보 표시하기
22.5 마무리

23장 JAX-WS 웹 서비스
23.1 소개
23.2 자바 웹 서비스 기본 사항
23.3 웹 서비스 생성, 게시, 테스트 및 설명하기
23.3.1 Netbeans에서 웹 어플리케이션 프로젝트 작성, 웹 서비스 클래스 추가
23.3.2 Netbeans에서 HugeInteger 웹 서비스 정의하기
23.3.3 Netbeans에서 HugeInteger 웹 서비스 게시하기
23.3.4 GlassFish 어플리케이션 서버의 Tester 웹 페이지와 함께 HugeInteger 웹 서비스 테스트하기
23.3.5 WSDL로 웹 서비스 설명하기
23.4 웹 서비스 소비하기
23.4.1 Netbeans에서 클라이언트 생성; HugeInteger 웹 서비스 소비
23.4.2 HugeInteger 웹 서비스 소비하기
23.5 SOAP
23.6 웹 서비스에서 세션 추적하기
23.6.1 Blackjack 웹 서비스 생성하기
23.6.2 Blackjack 웹 서비스 소비하기
23.7 웹 어플리케이션에서 데이터베이스 기반 웹 서비스 소비
23.7.1 Reservation 데이터베이스 생성하기
23.7.2 Reservation 웹 서비스와 상호 작용하는 웹 어플리케이션 생성
23.8 웹 서비스로 사용자 정의된 유형의 객체 전달하기
23.9 마무리

24장 출력
24.1 소개
24.2 스트림
24.3 printf로 출력 포맷하기
24.4 정수 출력하기
24.5 부동 소수점 숫자 출력하기
24.6 문자열과 문자 출력하기
24.7 날짜와 시간 출력하기
24.8 기타 변환 문자
24.9 필드 넓이 및 정밀도를 사용하여 출력하기
24.10 printf 포맷 문자열에서 플래그 사용하기
24.11 인수 인덱스와 함께 출력하기
24.12 리터럴과 이스케이프 시퀀스 출력하기
24.13 Formatter 클래스로 출력 포맷팅하기
24.14 마무리

25장 스트링, 문자, 정규 표현식
25.1 소개
25.2 문자와 문자열의 기본
25.3 String 클래스
25.3.1 String 생성자
25.3.2 String 메서드 length, charAt, getChars
25.3.3 문자열 비교
25.3.4 문자열에서 문자 및 하위 문자열 찾기
25.3.5 문자열에서 하위 문자열 추출하기
25.3.6 Strings 연결시키기
25.3.7 기타 String 메서드
25.3.8 String 메서드 valueOf
25.4 StringBuilder 클래스
25.4.1 StringBuilder 생성자
25.4.2 StringBuilder 메서드 length , capacity , setLength, ensureCapacity
25.4.3 StringBuilder 메서드 charAt , setCharAt , getChars, reverse
25.4.4 StringBuilder append 메서드
25.4.5 StringBuilder 메서드 insert, delete, deleteCharAt
25.5 Character 클래스
25.6 StringTokenizer 클래스
25.7 정규 표현식, Pattern 클래스, Matcher 클래스
25.8 마무리

부록 A 연산자 우선순위 차트
A.1 연산자 우선순위
부록 B ASCII 문자 집합
부록 C 키워드와 예약어
부록 D 기본 타입
부록 E GroupLayout
부록 F JDIC
부록 G Java API 문서 사용
부록 H ATM 사례 연구 코드
찾아보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.