자바 객체지향 프로그래밍 입문 (2 판)

자바 객체지향 프로그래밍 입문 (2 판)

$42.53
Description
기초 프로그래밍을 학습한 독자를 대상으로 제대로 된 객체지향 프로그래밍의 개념과 자바 문법 요소들을 전달해 두 마리 토끼를 한 번에 잡는 것을 목표로 한다. 대부분의 자바 입문서의 구성이 문법 위주의 버틈업(bottom-up) 형식인 반면, 이 책의 구성은 이어지는 실습으로 카드게임을 완성해 나가면서 그 안에서 자바의 주요 문법을 충실하게 다루는 톱다운(top-down) 형식이다. 또한 독자들이 재미있고 쉽게 접근할 수 있도록 책의 앞부분부터 비주얼한 실습을 제공하는 기본 코드 틀을 도입해 활용한다. 세상에 공짜가 없듯이 이 두 가지 구성 방식이 예제 프로그램을 다소 길고 복잡하게 만드는 요인이지만, 동영상 강의를 제공해서 부드럽고 효율적으로 학습을 진행할 수 있도록 보완했다.
저자

음두헌

미국오리건(Oregon)주립대학교에서석사와박사학위를취득했다.한국전자통신연구원을거쳐현재는덕성여자대학교소프트웨어전공교수로재직중이다.저서로는『C++를이용한객체지향프로그래밍』(생능,1995),『카드게임으로배우는C++프로그래밍』(사이텍미디어,2008),『모던C++프로그래밍입문』(가메,2016)이있고,역서로는『데이터베이스시스템7/e』(홍릉과학,2018)이있다.

목차

1장.Hello응용프로그램
1.1Hello응용프로그램실습
[콘솔출력,클래스와객체,패키지,접근자,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.1String클래스
1.3.22차원배열
1.3.3열거형
연습문제

2장.Pen응용프로그램
2.1Pen응용프로그램실습
[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.1Graphics클래스
연습문제

3장.Rectangle응용프로그램
3.1Rectangle응용프로그램실습
[클래스와객체,생성자,필드의내부접근과외부접근]
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.1Math클래스
3.3.2래퍼클래스
연습문제
도전과제

4장.Card응용프로그램
4.1Card응용프로그램실습
[상속,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복사생성자
4.3.3어노테이션
연습문제
도전과제

5장.Pile응용프로그램
5.1Pile응용프로그램실습
[포함관계를통한재사용,상속관계를통한재사용]
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
[파일입출력(기본),예외처리,배치관리자]
5.2.6응용과제6
[파일입출력(고급),serialVersionUID상수,예외던지기]
5.2.7응용과제7
[애플릿]
5.3보충문법
5.3.1내부클래스
5.3.2MouseMotionListener인터페이스
5.3.3배치관리자
5.3.4익명클래스
5.3.5람다식
연습문제
도전과제

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

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

출판사 서평

◈이책에서다루는내용◈

첫째,대부분책은자바언어의문법책이지만이책은자바언어를사용하는논술책이다.
영어를10년을배워도영작과회화는초보수준인경우가많다.이는영문법에치중해공부했기때문이다.영작과회화를먼저배우면서그안에서자연스럽게문법을배우는10년을보냈다면미국사람과대등한영어실력을갖출수있지않았을까?이책은이어지는실습으로카드게임을완성해나가면서그안에서필수문법을다루는톱다운구성을채택했다.

둘째,대부분책은콘솔프로그램예제를사용하지만이책은비주얼한윈도우프로그램예제를사용한다.
많은책이사용하는예제는텍스트기반으로동작하는콘솔프로그램이다.나는객체지향개념과자바고급기능을모두활용해서구현된사용자인터페이스라이브러리를활용하고시각적으로확인해보는것이객체지향개념을제대로이해하는데필수라고생각한다.

셋째,이책은동영상강의를제공한다.
이어지는실습으로카드게임을완성해나가고시각사용자인터페이스라이브러리를활용한다는것은장을거듭할수록예제프로그램이길고복잡해진다는것을의미다.하지만이책이제공하는동영상강의가이문제의많은부분을해결해줄것으로판단한다.

◈이책의대상독자◈

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

◈이책의구성◈

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