장바구니 담기 close

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

자바 객체지향 프로그래밍 입문

자바 객체지향 프로그래밍 입문

  • 음두헌
  • |
  • 에이콘출판
  • |
  • 2015-08-31 출간
  • |
  • 616페이지
  • |
  • 188 X 250 X 30 mm /1240g
  • |
  • ISBN 9788960777552
★★★★★ 평점(10/10) | 리뷰(1)
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

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

수량
+ -
총주문금액
36,000

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

출판사서평

★ 이 책의 특징 ★

첫째, 대부분의 책은 자바 언어의 문법책이다. 이 책은 자바 언어를 사용하는 논술책이다.
영어를 10년 동안 배워도 영작과 회화는 초보 수준인 경우가 많다. 이는 영문법에 치중한 공부를 해왔기 때문이다. 영작과 회화를 먼저 배우면서 그 안에서 자연스럽게 문법을 배우는 10년을 보냈다면 미국 사람과 대등한 영어 실력을 갖출 수 있지 않았을까? 그렇다고 문법 기초 없이 좋은 논술이 작성될 수 없기 때문에 이 책은 문법 요소들도 소홀히 다루지 않는다.

둘째, 대부분의 책은 지루하다. 이 책은 재밌다.
이 책은 쉽고 재미있는 실습을 위해서 2장부터 시각적인 실습을 진행할 수 있는 기본 코드 틀을 제시해서 활용한다. 객체지향 개념을 모두 활용해서 구현된 자바의 시각 사용자 인터페이스 라이브러리를 활용하고 시각적으로 확인해 보는 것이 객체지향 개념을 제대로 이해하는데 필수라고 생각한다.

셋째, 자바 개발자로 가는 지름길을 제공한다.
공짜로 전문 개발자가 되는 왕도란 없지만 지름길을 제시하고 안내할 수는 있다. 이 책이 그 지름길 제시에 큰 몫을 할 수 있을 것이라고 생각한다.

★ 이 책의 대상 독자 ★

■ 기초 프로그래밍 학습 이후 자바로 객체지향 프로그래밍에 입문하고자 하는 독자
■ 자바를 학습한 적은 있지만 막상 객체지향 프로그래밍이라고 하면 그 개념이 잘 와 닿지 않는 독자
■ 모바일 프로그래밍, 게임 프로그래밍, 서버 프로그래밍 등으로 가기 전에 객체지향 개념과 기술을 확고하게 정립해서 첫 단추를 잘 끼우고 싶은 독자

★ 이 책의 구성 ★

이 책은 단계적으로 이어지는 실습 과제들을 중심으로 구성됐다. 1장에서는 실습 환경을 구축하고 클래스와 객체의 개념을 소개해서 간단한 콘솔 입출력 기반의 응용프로그램들을 작성해 본다. 2장에서는 이 책에서 제시하는 기본 코드 틀을 이용해서 간단한 윈도우 기반 응용프로그램을 작성하는 방법을 실습한다. 3장에서는 사각형 클래스를 정의해서 활용해 보고 클래스와 객체의 개념을 정립한다. 4장에서는 이 사각형 클래스를 상속받는 카드 클래스를 정의해서 활용해 보고 상속의 개념을 정립한다. 5장에서는 4장의 카드 클래스를 포함하는 카드 파일(card pile) 클래스를 작성해서 활용해 보고 다형성의 개념을 정립한다. 6장에서는 5장의 카드 파일 클래스를 상속받는 네 종류의 카드 파일 클래스들을 정의하고, 앞선 장들에서 정립된 개념들을 종합해 활용하는 카드 게임을 완성한다. 자바의 문법적인 요소들은 실습 과정에서 접할 때마다 설명되고 ‘보충 문법’ 절에서 추가로 다룬다.

각 장의 구성은 동일하며 절들의 연관 관계는 다음과 같다.
실습 과제: 1장부터 6장까지 Hello-Pen-Rectangle-Card-Pile-Game 응용프로그램의 실습으로 이어져서 카드 게임을 완성(기초 문법을 다룸)
응용 과제: 각 장별 실습 과제를 발전시키는 5~7개의 과제(필수 문법을 다룸)
보충 문법: 각 장별로 추가적인 주요 문법을 예제 위주로 다룸
연습 문제: 각 장별로 실습 과제와 응용 과제에서 설명한 개념과 문법을 발전시킴
도전 과제: 3장부터 6장까지 이어져, 각 장에서 학습한 내용을 단계별로 발전시켜 캐논볼 게임을 완성

이 책의 콘셉트와 문맥 때문에 부록 A.1 절에 배치한 '객체 지향 소프트웨어의 설계'는 사실 5장쯤에 배치해서 살펴보고 싶었던 내용이다. 부록 A.1 절에서는 가장 객체 지향적이고 직관적인 설계 기법인 CRC 설계 방식을 설명하고, 이 책에서 구현한 카드 게임에 적용해서 설계하는 과정을 다루었다.

목차

1장. Hello 응용프로그램
1.1 Hello 응용프로그램 실습
__[콘솔 출력, 클래스와 객체, 패키지, 접근자, static 멤버]
1.2 응용 과제
1.2.1 응용 과제 1
__[기본 데이터형, 참조형과 참조 변수, 콘솔 입력, Scanner 클래스, String 클래스]
1.2.2 응용 과제 2
__[상수, 메소드 오버로딩, 정수 배열, 값 전달 호출과 참조 전달 호출]
1.2.3 응용 과제 3
__[필드와 변수의 유효 범위]
1.2.4 응용 과제 4
__[문자열 배열, main 메소드의 인자, 래퍼 클래스]
1.3 보충 문법
1.3.1 String 클래스
1.3.2 2차원 배열
1.3.3 열거형
__연습 문제

2장. Pen 응용프로그램
2.1 Pen 응용프로그램 실습
__[MouseEvent 클래스, Graphics 클래스, 내부 클래스, Color 클래스]
2.2 응용 과제
2.2.1응용 과제 1
__[NullPointerException 예외]
2.2.2 응용 과제 2
__[static 필드의 효과]
2.2.3 응용 과제 3
__[Point 클래스, 가비지 컬렉션]
2.2.4 응용 과제 4
__[구조체]
2.2.5 응용 과제 5
__[개선된 for문]
2.3 보충 문법
2.3.1 Graphics 클래스
__연습 문제

3장. Rectangle 응용프로그램
3.1 Rectangle 응용프로그램 실습
__[클래스와 객체, 생성자, 필드의 내부 접근과 외부 접근]
3.2 응용 과제
3.2.1 응용 과제 1
__[기본 생성자, 생성자 오버로딩, 접근 메소드와 변경 메소드]
3.2.2 응용 과제 2
__[Line 클래스의 모델링]
3.2.3 응용 과제 3
__[static 멤버]
3.2.4 응용 과제 4
__[this() 함수, this 참조 변수]
3.2.5 응용 과제 5
__[객체 배열]
3.2.6 응용 과제 6
__[객체 배열의 활용]
3.2.7 응용 과제 7
__[Rectangle 클래스, Graphics2D 클래스]
3.3 보충 문법
3.3.1 Math 클래스
3.3.2 래퍼 클래스
3.3.3 클래스와 객체의 실체
__연습 문제
__도전 과제

4장. Card 응용프로그램
4.1 Card 응용프로그램 실습
__[상속, super() 함수, super 키워드, 상속 관계에서의 생성자, 객체의 형 변환, 메소드의 동적 결합, 다형성과 다형 변수]
4.2 응용 과제
4.2.1 응용 과제 1
__[Object 클래스, 객체의 비교, Class 클래스, instanceof 연산자]
4.2.2 응용 과제 2
__[protected 접근자, Random 클래스]
4.2.3 응용 과제 3
__[추상 클래스, 다형 변수, 다형성]
4.2.4 응용 과제 4
__[인터페이스, final 키워드의 활용, 어노테이션]
4.2.5 응용 과제 5
__[추상 클래스의 확장]
4.2.6 응용 과제 6
__[멀티 패키지, 접근자의 활용]
4.3 보충 문법
4.3.1 메소드 호출과 메소드의 동적 결합
4.3.2 복사 생성자
__연습 문제
__도전 과제

5장 Pile 응용프로그램
5.1 Pile 응용프로그램 실습
__[포함 관계를 통한 재사용, 상속 관계를 통한 재사용]
5.2 응용 과제
5.2.1 응용 과제 1
__[키 이벤트 처리]
5.2.2 응용 과제 2
__[awt 패키지, awt.event 패키지, 윈도우 이벤트 처리, Button 클래스, Label 클래스, 배치관리자]
5.2.3 응용 과제 3
__[다중 상속]
5.2.4 응용 과제 4
__[예외 처리]
5.2.5 응용 과제 5
__[파일 입출력, serialVersionUID 상수, 예외 던지기]
5.2.6 응용 과제 6
__[애플릿]
5.3 보충 문법
5.3.1 내부 클래스
5.3.2 MouseMotionListener 인터페이스
5.3.3 배치관리자
____BorderLayout 배치관리자
____FlowLayout 배치관리자
____GridLayout 배치관리자
____수동 배치
5.3.4 익명 클래스
__연습 문제
__도전 과제

6장. Game 응용프로그램
__캡슐화
__상속과 포함
__다형성
6.1 Game 응용프로그램 실습
__[상속과 포함의 활용, 다형성의 활용]
6.2 응용 과제
6.2.1 응용 과제 1
__[스윙 패키지, 복합 객체, JPanel 클래스, JButton 클래스]
6.2.2 응용 과제 2
__[JLabel 클래스]
6.2.3 응용 과제 3
__[JList 클래스, 제네릭 클래스, ListSelectionListener 인터페이스]
6.2.4 응용 과제 4
__[JComboBox 클래스, 컬렉션 클래스, Stack 클래스]
6.2.5 응용 과제 5
__[이미지 처리, JTextField 클래스, JPasswordField 클래스]
6.2.6 응용 과제 6
__[이미지 레이블]
6.2.7 응용 과제 7
__[다중 스레드]
6.3 보충 문법
6.3.1 이벤트 종류와 이벤트 소스
____JCheckBox 클래스
____JRadioButton 클래스
6.3.2 제네릭 클래스와 제네릭 메소드의 정의
____제네릭 클래스의 정의
____제네릭 메소드의 정의
6.3.3 컬렉션 프레임워크
____Vector 클래스
____HashMap 클래스
6.3.4 스레드의 활용
____동시성 제어
____Runnable 인터페이스
6.3.5 싱글톤
__연습 문제
__도전 과제

부록
A.1 객체 지향 소프트웨어의 설계
A.1.1 현금 자동 출납기 시스템의 설계
A.1.2 카드 게임의 설계
A.1.3 일반적인 설계 오류
A.2 맥에서 실습 환경 구축

저자소개

저자 음두헌은 미국 오리건(Oregon) 주립 대학교에서 석사와 박사 학위를 취득했다. 한국 전자통신연구원을 거쳐 현재는 덕성여자대학교 디지털미디어학과 교수로 재직 중이다.

도서소개

이 책은 기초 프로그래밍을 학습한 독자를 대상으로 제대로 된 객체지향 프로그래밍의 개념과 자바 문법 요소들을 전달해서 객체와 자바라는 두 마리 토끼를 한 번에 잡는 것을 목표로 한다. 시중에 출간된 자바 입문서들은 대부분 문법 위주의 버틈업(bottom-up) 형식으로 구성된 반면, 이 책은 이어지는 실습으로 카드 게임을 완성해 나가면서 그 안에서 자바의 주요 문법을 충실하게 다루는 탑다운(top-down) 방식으로 구성되어 있다. 또한, 독자들이 재미있고 쉽게 이 책의 구성에 접근할 수 있도록 비주얼한 실습을 제공하는 기본 코드 틀을 도입해서 활용한다.

교환 및 환불안내

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