<모든걸 알켜주마> 게임을 만들며 배우는 자바프로그래밍

<모든걸 알켜주마> 게임을 만들며 배우는 자바프로그래밍은 문법 위주의 학습이 아닌 적절한 문법을 배운 후 그 문법만으로 게임을 만들어 자바를 배울 수 있게 하여 재미있는 공부를 할 수 있습니다. 적절한 양의 자바 문법을 배우고 배운 내용만으로도 게임을 제작할 수 있게 하여 학습의욕을 높였으며, 그 단원에 맞는 SCJP 문제를 수정 보완해서 연습문제로 수록해서 자신의 실력을 테스트해 볼 수 있게 하였습니다.

 
 

임동혁 저/2002년 10월/544p/22,000원/별책부록, CD-ROM

<모든걸 알켜주마> 게임을 만들며 배우는 자바프로그래밍은 문법 위주의 학습이 아닌 적절한 문법을 배운 후 그 문법만으로 게임을 만들어 자바를 배울 수 있게 하여 재미있는 공부를 할 수 있습니다. 적절한 양의 자바 문법을 배우고 배운 내용만으로도 게임을 제작할 수 있게 하여 학습의욕을 높였으며, 그 단원에 맞는 SCJP 문제를 수정 보완해서 연습문제로 수록해서 자신의 실력을 테스트해 볼 수 있게 하였습니다. 게임에 맞춰 쓰여진 본문의 문법들을 체계적인 순서로 정리하고, 본문에 있는 연습문제 정답과 해설을 수록해서 별책으로 묶었습니다. 부록 CD-ROM에는 책에 수록된 예제 소스들과 자바 JDK1.4, JDK 도움말 파일, 에디터 프로그램이 들어있습니다.

 


 
[독자서평]
::: 최고 평점 줍니다. ㅣ 책내용: ★★★★★ :::

우선, 두 분의 리뷰는 아무래도 제우미디어 관계자 분들이 쓰신 것 같은 냄새?가 난다. 어떻게 이 책 한권의 리뷰밖에 없을까..그리고 솔직히 이 책만으로 SCJP 준비하기는 쉽지 않을 것이다.
연초에 샀던 이 책을 지금에서야 완독했다는 것이 부끄럽기는 하지만 그 만큼 정성을 들여 읽었다는 뜻도 되고, 정도 많이 들었다. 좋아하는 책은 한 글자도 빼놓지 않고 다 읽는 편인데, 이 책은 충분히 그럴만한 가치가 있다. 이 책을 쓰는 과정이 고통스럽기 까지 했다고 저자가 서문에서 밝혔는데, 책을 읽어보면 이렇게 구성부터 글자 하나까지 완벽에 가까운 정성을 들였으니 어떻게 즐겁기만 했으랴 라는 생각이 든다.
이 책의 가장 맛있는 부분은 그런 세심한 부분에 있다. 예를 들어 채팅 네트워크 파트에서
“..()..원래는 온라인 게임을 하나 작성해 보려고 했습니다만, 게임과 네트워크가 복잡하게 섞여있는 온라인 게임을 만들면서 자바 네트워크 프로그래밍을 이해하기 보다는, 가장 기본적인 네트워킹 방법이 든 채팅 서버와 채팅 클라이언트를 만드는 것이 훨씬 효과적이기 때문에..()”
같은 인간적인 설명을 곁들인다. 별로 필요없고 작은 부분 같지만 이렇게 이유를 알려주며 설명을 해나가는 language 책들은 적다. 대표적으로 이 책의 자바 언어 처리관련 설명은 무척 인상적이었는데, 저자의 역량을 알수 있는 부분이기도 했다.
책은 책제목 답게 유익한 게임관련 프로그래밍 기법들을 충실하게 보여주고, 저자는 마지막 글귀 하나까지 독자와의 대화를 멈추지 않는다. 하여간에 이렇게 인간적인 language책은 처음 봤다.
학교 수업 교과서는 `New 알기쉬운 Java2`라는 정보문화사 책이었는데, 열정적인 교수님이 아니었으면 극기의 자세고 뭐고, 던져버리고 싶은 책이었다. 그렇지만, 배움에 허틈이 있었던건 아니었는지 이 `게임..자바`책을 보완해서 기초적인 문법들을 체계적으로 익히는데에는 많은 도움을 주었다. 그리고, 아! 이책에서는 이렇게 코드표현한 것을 저 책에서는 이렇게 표현 했구나 하는, 비교하는 맛도 솔솔했다. 초보자가 뭘 알고 보겠냐..많이 보고 많이 짜보는게 최고지..
이렇게 체계적인 자바문법 책 한권과 이 책 한권 자유자재되면, 초보자바 프로그래머 수준은 안되겠냐 싶다. 나도 아직 초보라서 잘 모르겠다.
참, 이 책도 중복 페이지나 코드가 가끔 나온다. 그래도, 책의 수준을 떨어뜨리는 정도는 아니니 염려하지 않아도 될 것이다.

YES24/ 2003.11.12
::: 자바를 맨 처음 접하시는 분들에게는 쉽고 재밌을것 같군요 ㅣ 책내용: ★★★★★ :::

자바 공부를 할려고 하는데 마땅히 무슨 책을 살지 고민 하다가 우연히 이 책을 찾았습니다. 게임을 만들면서 한다는게 굉장히 끌렸구요…게임을 만들때마다 디게 뿌듯해요. 코드에 대한 자세한 설명을 미리 다 해서 코드를 보면 쉽게 이해 할수 있구요 게임을 하나씩 만들때 마다 게임에 필요한 용구를 가르쳐 주기 때문에 기억이 더 많이 남아요. 꼭 추천 합니다 아~ JSCP 공부 하시는분들도 좋아요. 게임을 만들고 그 게임 예제와 비슷한 JSCP 문제도 나와 있거든요. 자바 공부를 재미있게 하고 싶으시거나 JSCP 를 준비 하시는 분들에게 꼭 추천 할께요.

YES24 / >ㅅ< 자바에 관심이 마나요 효~~~~~ / 2002.11.12 ::: 게임을 만들고 싶고 관심이 있는 분들이라면 한번 접해봐도 좋을듯 합니다 ㅣ 책내용: ★★★★★ ::: 자바에 관심이 있어서 자바를 조금 배운 학생입니다. 게임을 만들고 싶은데 아직 기초 실력이라 엄두를 내지 못했고 게임위주로 나온서적을 접해보지 못했는데 제목을 보고는 이책을구입 하게 됐습니다. 정말 기초실력이라 못할줄 알았는데 이책에는 제가 배운 기초 실력 만으로도 게임을 만들수 있게 쉽게 설명이 돼 있더군요. 게임을 하나하나 완성해 나갈때마다 신기하더군요. 게임을 만들고 싶은데 저처럼 초보 실력이라면 이책을 권해 주고 싶습니다. 정말 기초 실력이지만 게임을 만들고 싶고 관심이 있는 분들이라면 한번 접해봐도 좋을듯 합니다. YES24 / 2002.10.18 ::: 쉽게 배울수 있다^^ ㅣ 책내용: ★★★★★ ::: 친구에 추천으로 이책을 접하게 됐다. 자바로 게임을 만들면서 많이 어렵다고 생각했지만 이 책을 추천받고는 쉽게 게임을 만들게 됐다. 게임 위주로 나온 자바책을 접하기 힘들었는데 게임위주로 나와있고 게임을 만들면서 자바를 배운다는게 더 쉽고 재미 있었다. 자바로 게임을 만들고 싶고 또는 자바에 관심이 있는 분 분들이라면 이 책을 꼭 추천해 주고 싶다. 기초 실력이라도 책이 어렵지 않아 쉽게 따라 할 수 있어서 좋다고 생각한다. 모닝365 / 2002.10.18

Part1 자바 프로그래밍 워밍업

01. 자바에 대하여
1. 자바란?
2. C언어와 자바
3. 자바가 어려운 이유
4. 자바의 특징
5. 자바 관련 사이트

02. JDK 설치와 환경
1. JDK를 다운 받아 설치하기
2. PATH 설정하기
3. JDK 사용법 알아보기

03. 애플리케이션과 애플릿
1. 애플리케이션
2. 애플릿
3. 처음 만들어 본 애플리케이션
4. 처음 만들어 본 애플릿

04. 자바를 배울 때 자주하는 실수들
1. 단어를 사용할 때
2. 세미콜론
3. 컴파일 할 때와 실행할 때
4. public 클래스
5. 패스 설정
6. 애플리케이션
7. 생성자
8. 애플릿을 불러올 대
9. 매소드의 매개변수
10. 배열과 객체

05. 기타 알아야 할 것들
1. 에디터 설치법
2. 도스 명령어

Part2 게임을 만들며 배우는 자바 베이직

01. 오늘의 운세
1. 실행문과 설명문
2. 기본 데이터형의 이해
3. 기본 데이터형을 사용하는 예제
4. 변수와 상수
5. 변수와 상수를 사용한 예제
6. Date 클래스
7. 오늘 날짜와 현재 시간을 출력하는 예제
8. SimpleDateFormat 클래스와 Calendar 클래스
9. 출력 형식에 따라서 날짜와 시간을 출력하는 예제
10. 실시간 정보에 따라서 날짜와 시간을 출력하는 예제
11. 난수를 구하는 Random 클래스
12. 1~100 사이의 난수값을 구하는 예제
13. 실전! 오늘의 운세 게임 만들기
학습정리 및 연습문제

02. 가위, 바위, 보 게임
1. String 클래스
2. 문자열 처리 예제
3. 레퍼런스 데이터형
4. ==연산자와 equals() 메소드를 비교한 예제
5. 키보드에서 입력받기
6. 키보드에서 문자열 입력받는 예제
7. 분기문 If문
8. if문을 사용하는 예제
9. switch문을 사용하는 예제
10. 실전! 가위, 바위, 보 게임 만들기
학습정리 및 연습문제

03. 구구단 게임
1. 연산자에 대해
2. (연산자) 산술 연산자
3. (연산자) 산술 연산자 예제
4. (연산자) 증가/감소 연산자
5. (연산자) 증가/감소 연산자 예제
6. (연산자) 비트 연산자
7. (연산자) 비트 연산자 예제
8. (연산자) 대입 연산자
9. (연산자) 대입 연사자 예제
10. (연산자) 논리 연산자
11. (연산자) 논리 연산자 예제
12. (연산자) 관계 연산자
13. (연산자) 관계 연산자 예제
14. (연산자)자 조건 연산자
15. (연산자) 조건 연산자 예제
16. 형변환에 대해
17. (형변환) 캐스팅
18. (형변환) 캐스팅을 사용한 형변환 예제
19. (형변환) 랩퍼(Wrapper) 클래스
20. (형변환) 랩퍼(Wrapper) 클래스 예제
21. (형변환) 랩퍼(Wrapper) 클래스의 비교(==) 예제
22. (형변환) 랩퍼 플래스의 비교(equals) 예제
23. (형변환) 진법을 고려한 형변환(parse-)
24. (형변환) 진법을 고려한 형변환(parse-) 예제
25. main() 메소드와 인수
26. main() 메소드의 인수 처리 예제
27. 실전! 구구단 게임 만들기
학습정리 및 연습문제

04. 숫자 야구 게임
1. 메소드 호출
2. (메소드 호출) Call by Value 방식의 인수 전달 예제
3. (메소드 호출) 전역 변수의 사용 예제
4. (메소드 호출) Call by Reference 방식의 인수 전달 예제
5. 메소드 오버로딩
6. 메소드 오버로딩 예제
7. (반복문) while문
8. (반복문) while문 예제
9. (반복문) do while문
10. (반복문) do while문 예제
11. (반복문) for문
12. (반복문) for문 예제
13. (반복문) break/continue
14. (반복문) break문
15. (반복문) continue문 예제
16. 배열
17. 배열 예제
18. 숫자 야구 게임에 대해
19. 실전! 숫자 야구 게임 만들기
학습정리 및 연습문제

05. 행맨 게임
1. 객체지향의 이해
2. 클래스의 정의와 사용에 관한 예제
3. 생성자
4. 생성자 예제
5. 가비지 콜렉션
6. 패키지(package)
7. static
8. static 히스토리 변수 예제
9. StringBuffer 클래스
10. StringBuffer 클래스의 사용 예제
11. 행맨 게임에 관해
12. 실전! 행맨 게임 만들기
학습정리 및 연습문제

06. 행맨2 게임 만들기
1. 상속
2. 상속 예제
3. 접근제어
4. 접근제어 예제
5. 메소드 오버라이딩
6. 메소드 오버라이딩 예제
7. this와 super
8. this와 super 예제
9. 상속시의 생성자 관계
10. 상속시의 생성자 관계 예제
11. Final
12. 행맨2 게임에 대해
13. 실전! 행맨2 게임 만들기
학습정리 및 연습문제

Part3 게임을 만들며 배우는 자바 애플릿

01. 애플릿 숫자 야구 게임
1. 애플릿의 이해
2. HTML 문서에서 주는 인수 출력하는 예제
3. 인터페이스
4. 접근제어 예제
5. AWT 컴포넌트에 대해
6. (AWT 컴포넌트) 레이블
7. (AWT 컴포넌트) 레이블 사용 예제
8. (AWT 컴포넌트) 버튼
9. (AWT 컴포넌트) 버튼 사용 예제
10. (AWT 컴포넌트) 체크박스
11. (AWT 컴포넌트) 체크박스 사용 예제
12. (AWT 컴포넌트) 라디오형 체크박스(라디오버튼)
13. (AWT 컴포넌트) 라디오형 체크박스 사용 예제
14. (AWT 컴포넌트) 초이스
15. (AWT 컴포넌트) 초이스 사용 예제
16. (AWT 컴포넌트) 리스트
17. (AWT 컴포넌트) 리스트 사용 예제
18. (AWT 컴포넌트) 텍스트필드
19. (AWT 컴포넌트) 텍스트필드 사용 예제
20. (AWT 컴포넌트) 텍스트 에어리어
21. (AWT 컴포넌트) 텍스트 에어리어 사용 예제
22. (AWT 컴포넌트) 스크롤바
23. (AWT 컴포넌트) 스크롤바 사용 예제
24. (AWT 컴포넌트) 캔버스
25. (AWT 컴포넌트) 캔버스 사용 예제
26. 레이아웃에 대해
27. (레이아웃) 컨테이너에 컴포넌트 추가 예제
28. (레이아웃) null 레이아웃
29. (레이아웃) null 레이아웃 예제
30. (레이아웃) 플로우 레이아웃
31. (레이아웃) 플로우 레이아웃 예제
32. (레이아웃) 그리드 레이아웃
33. (레이아웃) 그리드 레이아웃 예제
34. (레이아웃) 보더 레이아웃
35. (레이아웃) 보더 레이아웃 예제
36. (레이아웃) 카드 레이아웃
37. (레이아웃) 카드 레이아웃 예제
38. 애플릿 숫자 야구 게임에 대해
39. 실전! 애플릿 숫자 야구 게임 만들기
학습정리 및 연습문제

02. 생명의 게임
1. 애플릿의 라이프 사이클
2. 애플릿의 라이프 사이클 예제
3. 자바 그래픽스에 대해
4. (자바 그래픽스) 색상 지정: setColor() 메소드
5. (자바 그래픽스) 색상 지정 예제
6. (자바 그래픽스) 글꼴 지정: setFont() 메소드
7. (자바 그래픽스) 글꼴 지정 예제
8. (자바 그래픽스) 문자 출력 drawString(), drawBytes(), drawChars() 메소드
9. (자바 그래픽스) 문자 출력 예제
10. (자바 그래픽스) 선 그리기: drawLine() 메소드
11. (자바 그래픽스) 선 그리기 예제
12. (자바 그래픽스) 사각형 그리기:drawRect(), fillRect() 메소드
13. (자바 그래픽스) 사각형 그리기 예제
14. (자바 그래픽스) 둥근 사각형 그리기: drawRoundRect(), fillRoundRect() 메소드
15. (자바 그래픽스) 둥근 사각형 그리기 예제
16. (자바 그래픽스) 3차원 사각형 그리기: draw3DRect(), fill3DRect() 메소드
17. (자바 그래픽스) 3차원 사각형 그리기
18. (자바 그래픽스) 타원 그리기: drawOval(), fillOval() 메소드
19. (자바 그래픽스) 타원 그리기 예제
20. (자바 그래픽스) 부채꼴 그리기: drawArc(), fillArc() 메소드
21. (자바 그래픽스) 부채꼴 그리기 예제
22. (자바 그래픽스) 다각형 그리기: drawPolyon(), fillPolygon
23. (자바 그래픽스) 다각형 그리기 예제
24. (자바 그래픽스) 연결선 그리기: drawPolyline() 메소드
25. (자바 그래픽스) 연결선 그리기 예제
26. 쓰레드에 대해
27. (쓰레드) Thread 클래스
28. (쓰레드) Thread 클래스 예제
29. (쓰레드) Runnable 인터페이스
30. (쓰레드) Runnable 인터페이스 예제
31. 이벤트에 대해
32. (이벤트) 이벤트 소스와 이벤트 클래스 결정
33. (이벤트) 이벤트 리스너를 상속받아 이벤트 핸들러 작성
34. (이벤트) 이벤트 소스와 이벤트 핸들러를 연결
35. (이벤트) 액션 이벤트 에제
36 마우스 이벤트 다루기
37. 마우스 이벤트 예제
38. 생명 게임에 대해
39. 실전! 생명 게임 만들기
학습정리 및 연습문제

03. 슬롯머신 게임
1. 이미지 다루기
2. 이미지 출력 예제
3. MediaTracker 클래스
4. MediaTracker 클래스 예제
5. 애니메이션
6. 자바 애니메이션 예제
7. update() 메소드의 이해
8. update() 메소드를 수정한 자바컵 애니메이션 예제
9. 더블 버퍼링
10. 더블 버퍼링을 사용한 자바컵 애니메이션
11. 스프라이트
12. 배경 위를 지나자는 스프라이트
13. (이미지 프로세싱) 이미지 크기
14. (이미지 프로세싱) 이미지 크기 출력 예제
15. (이미지 프로세싱) 이미지 스케일링
16. (이미지 프로세싱) 이미지 스케일링 예제
17. (이미지 프로세싱) 이미지 뒤집기
18. (이미지 프로세싱)이미지 뒤집기 예제
19. (이미지 프로세싱) 이미지 클리핑
20. (이미지 프로세싱) 이미지 클리핑 예제
21. (이미지 프로세싱) 이미지 나누기
22. (이미지 프로세싱) 이미지 나누기 예제
23. 슬롯머신 게임에 대해
24. 실전! 슬롯머신 게임 만들기
학습정리 및 연습문제

04. 테트리스 게임
1. 추상 클래스
2. 추상 클래스 예제
3. 내부 클래스
4. 내부 클래스를 이용한 마우스 이벤트 처리 예제
5. 어댑터
6. 어댑터를 이용한 마우스 이벤트 처리 예제
7. 키 이벤트 다루기
8. 키 이벤트 예제
9. 사운드
10. 사운드 출력 예제
11. (예외처리) 예외에 대한 이해
12. (예외처리) 배열에서의 예외 발생 예제
13. (예외처리) try와 catch
14. (예외처리) try와 catch
15. (예외처리) finally
16. (예외처리) finally 사용 예제
17. (예외처리) throws와 throw
18. (예외처리) throws와 throw 예제
19. (예외처리) 예외 만들기
20. (예외처리) Exception 클래스의 상속
21. 테트리스 게임에 대해
22. 실전! 테트리스 게임 만들기
학습정리 및 연습문제

05. 채팅 서버와 채팅 클라이언트
1. 스트림의 이해
2. (입력 스트림) InputStream과 InputStreamReader
3. (입력 스트림)InputStreamReader 클래스 사용 예제
4. (입력 스트림) FileInputStream과 FileReader
5. (입력 스트림) FileReader 클래스의 사용 예제
6. (입력 스트림) File 클래스 사용 예제
7. (입력 스트림) 인수로 주어진 파일에 대한 정보 출력
8. (입력 스트림) BuffereredInputStream과 BufferedReader
9. (입력 스트림) BufferedReader 클래스 사용 예제
10. (입력 스트림) DataInputStream
11. (출력 스트림) OutputStream과 OutputStreamWriter
12. (출력 스트림) OutputStreamWriter 클래스 예제
13. (출력 스트림) FileOutputStream과 FileWriter
14. (출력 스트림) FileReader.java와 FileWriter를 이용한 파일 복사
15. (출력 스트림) BufferedOutputStream과 BufferedWriter
16. (출력 스트림) BuffereWriter클래스 사용 예제
17. (출력 스트림) DataOutputStream
18. (출력 스트림) DateInput과 DataOutput을 이용한 파일 입출력
19. (출력 스트림) PrintStream과 PrintWriter
20. (출력 스트림) PrintWriter 클래스의 사용 예제
21. 네트워크의 이해
22. URL 클래스
23. 특정 URL로부터 정보 획득
24. (소켓) 서버 소켓
25. (소켓) 서버 소켓 예제
26. (소켓) (클라이언트) 소켓
27. (소켓) (클라이언트) 소켓
28. Vector 클래스
29. Vector 클래스 예제
30. StringTokenizer 클래스
31. StringTokenizer 클래스 사용 예제
32. 채팅 프로그램
33. 채팅 서버
34. 채팅 클라이언트
35. 실전! 채팅 서버 만들기
학습정리 및 연습문제

06 네모네모 로직 게임
1. 기획 및 분석
2. 화면 디자인
3. 데이터 구조와 알고리즘
4. 클래스 설계
5. 실전! 네모네모 로직 게임 만들기
학습정리 및 연습문제

임동혁

▶ 임동혁 : 부천대학교 인터넷학과 교수 / 고려대학교 컴퓨터학과(전산과학과) 졸업 / 한국과학기술원(KAIST) 정보통신공학과 석사 / 한국과학기술원(KAIST) 전자전산공학과 박사수료 / 한국HP 공인강사(C/C++, 자바) / SCJP, MCSE

Loading...