책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9788976279057
· 쪽수 : 710쪽
· 출판일 : 2002-01-10
책 소개
목차
제1부 객체의 기초 개념
제1장 자바 맛보기
왜 자바인가?
자바는 아키텍처에 중립적이다
자바와 월드와이드웹
자바는 '한번에 모든 것'을 제공한다
연습함이 완벽함을 만든다
자바는 매우 객체 지향적이다
자바는 개방형 표준(open standard)이다
자바는 무료이다
자바 언어의 기초
실제 자바 코드와 의사코드
간단한 자바 프로그램의 구조
자바의 내장 데이터형
자동증가/자동감소 연산자
자바 표현식
자동 형변환과 명시적 형변환
블록 구조를 갖는 언어와 변수의 범위
화면에 출력하기
프로그램의 실행 흐름 제어
들여쓰기 스타일
자바와 관련해서 전해줄 사항
요약
연습문제
제2장 추상화와 모델링
추상화를 통한 간략화
추상화를 통한 일반화
추상화를 조직하여 분류 계층도 만들기
소프트웨어 개발의 기초로서의 추상화
추상화의 재사용
본질적인 문제들
어떻게 하면 성공적인 객체 모델러가 될 수 있을까?
요약
연습문제
제3장 객체와 클래스
객체란 무엇인가?
데이터/상태/속성
행동/연산/메소드
클래스
인스턴스화
캡슐화
객체 vs. 데이터베이스 레코드
추상 데이터형으로서의 클래스
객체의 인스턴스화 자세히 보기
속성으로 사용되는 객체
합성 클래스
객체 지향 프로그래밍 언어의 세 가지 구별되는 특징
요약
연습문제
제4장 객체들의 상호작용
이벤트는 객체의 협동을 이끌어 낸다
메소드 시그너처
인자 전달하기
반환형
메소드의 몸체
명명법에 대한 제안
메시지 전달 및 점(dot) 표기법
점 표기법을 통해 속성에 접근하기
위임
객체에 접근하기
클라이언트 및 서버/에이전트로서의 객체
정보 은닉/가시성
접근자 및 수정자 메소드
public/private 규칙의 예외
캡슐화 다시 살펴보기
클래스 자신의 메소드 내부에서 속성에 접근하기
생성자
요약
연습문제
제5장 객체간의 관계
연관과 링크
다중성(Multiplicity)
집합(Aggregation)
상속(Inheritance)
상속의 이점
클래스 계층도
실제로 상속은 하나의 관계인가?
'파급 효과'
클래스를 파생시키는 원칙 : '해야 할 일들'
오버라이딩(Overriding)
클래스를 파생시키는 원칙 : '하지 말아야 할 일들'
오버로딩(Overloading)
다중 상속에 관한 몇 가지 언급
객체 지향 프로그래밍 언어의 3가지 특성 중 2가지를 배웠다
요약
연습문제
제6장 객체의 컬렉션
컬렉션이란 무엇인가?
배열으로서의 단순 컬렉션
보다 정교한 컬렉션 타입들
'핸들'의 컬렉션
사용자 정의 컬렉션 타입 만들기
메소드 리턴 타입으로서의 컬렉션
서브타입의 컬렉션
합성 클래스 다시 보기
요약
연습문제
제7장 마지막 남은 개념들
다형성이란 무엇인가?
다형성은 코드의 유지보수를 단순화해 준다
객체 지향 프로그래밍 언어의 3가지 주요 특징
추상 클래스
추상 클래스와 인스턴스 생성
상속과 추상 클래스
인터페이스
정적 속성
정적 메소드에 접근하기
정적 메소드
정적 메소드와 정적 속성
요약
연습문제
제2부 객체 모델링
제8장 객체 모델링 프로세스 요약
객체 모델링의 '큰 그림'이 되는 목표
모델링 방법론 = 프로세스 + 표기법 + 툴
객체 지향 프로젝트 간단히 살펴보기
객체 모델링 소프트웨어 툴에 관한 생각
메모
요약
연습문제
제9장 쓰임새를 통해 요구사항 정형화하기
쓰임새란 무엇인가?
기능적 vs. 기술적 요구사항
사용자를 포함시키기
행위자
쓰임새 정의하기
쓰임새와 행위자를 매치시키기
다이어그램, 그릴 것인가 말 것인가?
요약
연습문제
제10장 시스템의 정적/데이터 양상 모델링
적절한 클래스 찾기
명사절 분석
쓰임새 다시 살펴보기
데이터 딕셔너리 만들기
클래스들 사이의 연관 결정하기
속성 찾아내기
UML 표기법 : 추상의 정적 양상 모델링
클래스, 속성, 메소드
클래스들 사이의 관계
다중성 반영하기
객체 다이어그램
속성으로 사용되는 연관
정보는 연관 '파이프라인'을 따라 '흐른다'
관계 표기법들을 '섞어서 조화시키기'
연관 클래스
학생 등록 시스템의 '완전한' 클래스 다이어그램
메타데이터
UML과 OMT 표기법 비교
요약
연습문제
제11장 시스템의 동적/행동 양상 모델링
행동이 상태에 어떻게 영향을 미치는가
이벤트
시나리오
시나리오 #1 - '강좌에 등록한다' 쓰임새를 위한:
시나리오 #2 - '강좌에 등록한다' 쓰임새를 위한:
시퀀스 다이어그램
메소드를 결정하는데 시퀀스 다이어그램을 사용하기
협력 다이어그램
개정된 SRS 클래스 다이어그램
요약
연습문제
제12장 모델링 결과의 마무리
모델 테스트하기
모델의 결점
모델 재사용하기 : 설계 패턴에 관한 이야기
요약
연습문제
제3부 객체의 '청사진'을 자바 코드로 옮기기
제13장 자바 자세히 보기
자바 프로그래밍 환경 설정하기
자바 프로그램 분석 다시 보기
패키지 가져오기
자바 클래스 분석
객체로서의 String
자바 표현식 다시 보기
화면 출력 다시 보기
배열 다시 보기
변수의 초기화 다시 보기
자바의 예외 처리
커맨드 라인에서 데이터 읽기
키보드 입력받기
생성자 사용하기
객체 자신을 참조하는 'this' 키워드 사용하기
객체의 삭제와 가비지 컬렉션
상속과 자바
상속된 컴포넌트의 가시성/접근성
베이스 클래스의 행위들을 재사용하기 : 'super' 키워드
상속과 생성자
자바의 컬렉션 클래스
Vector 클래스
Hashtables
Enumeration 객체를 통해 컬렉션 훑어보기
구원을 주는 '랩퍼' 클래스
'final' 키워드
정적 속성과 메소드 다시 보기
추상 클래스와 인터페이스 다시 보기
객체 구분자
객체가 속해 있는 클래스 결정하기
Object의 등가 테스트
toString() 메소드
내부 클래스
요약
연습문제
제14장 모델을 자바 코드로 바꾸기
이후의 장들에서 최대값을 산출하기 위한 제안
SRS 클래스 다이어그램 다시 보기
Person 클래스(추상 클래스 열거하기)
Student 클래스(상속을 통한 재사용; 추상 클래스의 확장; 위임)
Professor 클래스(관계의 양방향성)
Course 클래스(재귀적인 관계; 방향성이 없는 관계)
Section 클래스(연관 클래스들 나타내기; Public Static Final 속성)
위임 다시 보기
ScheduleOfClasses 클래스
TranscriptEntry 연관 클래스(Static 메소드)
Transcript 클래스
SRS '구동' 프로그램
디버깅 팁
요약
연습문제
제15장 애플리케이션 다듬기, 1부 : 파일 영속성 추가하기
파일 영속성이란 무엇인가?
파일로부터 읽기
파일에 쓰기
주요 SRS 컬렉션 생성하기
Student 데이터 보존하기
다른 타입의 객체들은 보존하지 않는 이유
CollectionWrapper(컬렉션 캡슐화하기; ASCII 파일로부터 읽기)
CourseCatalog
Faculty
ScheduleOfClasses 수정하기
Course 수정
Student 클래스(동적인 데이터 검색; 객체의 상태 보존)
SRS 클래스 다시 보기
요약
연습문제
제16장 애플리케이션 다듬기, 2부 : 그래픽 사용자 인터페이스 추가
자바 GUI : 기초
컴포넌트
컨테이너
모델과 뷰의 분리
AWT vs. Swing 컴포넌트
JFrame 클래스
화면 상에 프레임을 위치시키기
화면 중앙에 프레임을 위치시키기
JFrame에 컴포넌트 추가하기
JPanel 클래스
공통 컴포넌트 속성과 행동들
레이아웃의 기초
BorderLayout
GridLayout
FlowLayout
JLabel 클래스
JTextField와 JPasswordField 클래스
JButton 클래스
JList
계산기 예제
GUI를 가지는 애플리케이션 구조
'GUI의 외양', 검토
자바 이벤트 핸들링
이벤트 - 기본 개념들
기본 이벤트 타입
리스너의 생성과 등록
계산기에 행동 추가하기
윈도우를 닫기
JList에서 아이템을 선택하기
다른 컨테이너 타입 : JDialog와 JOptionPane
JOptionPane으로 한번에 대화상자 표시하기
SRS : GUI를 추가하기
운영의 개념
GUI의 '겉보기' 기획 : GridLayout을 이용한 창조
성공적인 모델-뷰 분리
요약
연습문제
제17장 다음 단계로 나아가기
Jacquie의 자바를 제대로 배우는 '확실한' 방법
참고 도서
Wrox의 학습 '로드 맵'
그 밖의 참고 도서
독자의 의견
제4부 부록
부록 A 이 책을 교재로 사용하려는 분들을
부록 B 기타 사례 분석들
사례 분석 #1 : 회의실 예약 시스템
배경
시스템의 목표
사례 분석 #2 : Blue Skies 항공 노선 예약 시스템
배경
그밖의 가정 단순화
부록 C 기본적인 객체 모델링/Java 환경 설정하기
객체 모델링 도구들
Java Software Developer's Kit
Java 작업을 위한 '잡동사니' 팁들
Windows 95나 98 환경에서 작업하는 경우
그 밖의 Windows 버전(예를 들면 NT, 2000, ME)에서 작업하는 경우
Unix(Solaris, Linux)에서 작업하는 경우
모든 플랫폼에 해당하는 것들
설치시 에러의 해결
Windows에서 온라인 Java 참고 문서 사용하기
마이크로소프트 Windows 하에서 DOS를 사용하는 경우를 위한 특별한 팁
규칙 No. 1 : 모든 DOS 환경이 동일하게 만들어지지 않는다!
부록 D SRS 소스 코드
예제 코드 다운로드하기
부록 E 숙련된 C++ 프로그래머를 위한 참고사항
포인터가 없어졌다!
부록 F '무대 뒤에서 벌어지는' 다형성의 작동 원리(동적 vs. 정적 바인딩)
정적 바인딩
동적 바인딩
찾아보기