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 클래스, Graphics2
저자 음두헌(지은이의 말
이 책을 저술하기 전에 책의 콘셉트를 잡고자 나름대로 시장조사를 수행했다. 그 결과, 거의 모든 자바 입문서가 자바를 첫 언어로 시작하는 독자를 대상으로 기초 프로그래밍부터 시작하는 문법 위주의 구성을 채택하고 있음을 알게 됐다. 교육 경험상, 자바는 첫 언어로 시작하기에는 진입 장벽이 조금 높은 편이다. 또한 문법 위주의 구성은 객체지향 프로그래밍의 개념과 활용을 학습하는 데 적절하지 못하다고 판단했다. 따라서 기초 프로그래밍을 학습한 독자들을 대상으로 제대로 된 객체지향 프로그래밍 기법과 자바 문법 요소들을 전달해서 두 마리 토끼를 한 번에 잡는 것으로 이 책의 콘셉트를 설정했다. 이를 위해서 이 책이 채택한 구성은 다음의 두 가지 특징을 가진다. 첫째, 카드게임의 작성 과정을 시나리오로 삼고 그 안에서 문법 요소들을 충실히 다루는 구성을 선택했다. 둘째, 독자들이 쉽고 재미있게 이 구성에 접근할 수 있도록 비주얼한 실습을 제공하는 기본 코드 틀을 책의 앞부분부터 도입해서 활용했다. 세상엔 공짜가 없듯이, 이 두 가지 구성 방식이 예제 프로그램을 다소 길고 복잡하게 만드는 요인이지만 동영상 강의를 제공해서 부드럽고 효율적으로 학습을 진행할 수 있도록 보완했다.
그간의 프로그래밍 교육 경험에 의하면 프로그래밍 언어는 예제를 중심으로 다루는 것이 가장 효과적이라고 생각한다. 따라서 100개가 넘는 예제 프로그램들을 제공해서 접근성을 높였고 직관적인 설명을 위해서 그림을 많이 활용했다. 나 역시 초보 시절에는 다른 사람이 작성한 프로그램을 분석해 보는 과정을 통해서 프로그래밍에 대한 틀이 잡히고 실력도 크게 향상됐던 것으로 기억한다. 책을 펼쳐 보면 빡빡하게 채워진 텍스트가 먼저 눈에 들어와서 첫인상은 좋지 않을 수도 있다. 하지만 이는 동영상 강의를 통해 혼자서도 학습할 수 있는 자습서 형식의 진행을 선택해서 설명이 많기 때문이고 비주얼한 실습 과정이 오히려 흥미로울 것으로 생각한다.