레이블이 자바 초보 책인 게시물을 표시합니다. 모든 게시물 표시
레이블이 자바 초보 책인 게시물을 표시합니다. 모든 게시물 표시

2016년 9월 17일 토요일

난 정말 JAVA를 공부한 적이 없다구요

난 정말 JAVA를 공부한 적이 없다구요


  • 목차

Chapter 01. Let's Start JAVA! 
01-1. 자바의 세계로 오신 여러분을 환영합니다. 
01-2. 자바 프로그램의 이해와 실행의 원리 
01-3. 첫 번째 자바 프로그램의 관찰과 응용 
01-4. 컴파일의 대상에서 제외되는 주석! 

Chapter 02. 변수(Variable)와 자료형(Data Type) 
02-1. 변수의 이해와 활용 
02-2. 정수 표현방식의 이해 
02-3. 실수 표현방식의 이해 
02-4. 자료형의 이해 

Chapter 03. 상수와 형 변환(Type Casting) 
03-1. 자료형을 기반으로 표현이 되는 상수 
03-2. 자료형의 변환 

Chapter 04. 연산자(Operator) 
04-1. 자바에서 제공하는 이항 연산자들 
04-2. 자바에서 제공하는 단항 연산자들 
04-3. 비트와 관련이 있는 연산자들 

Chapter 05. 실행흐름의 컨트롤 
05-1. if ±×¸?°? else 
05-2. switch와 break 
05-3. for, while ±×¸?°? do~while 
05-4. continue & break 
05-5. 반복문의 중첩 

Chapter 06. 메소드와 변수의 스코프 
06-1. 메소드에 대한 이해와 메소드의 정의 
06-2. 변수의 스코프 
06-3. 메소드의 재귀호출 

Chapter 07. 클래스와 인스턴스 
07-1. 클래스의 정의와 인스턴스의 생성 
07-2. 생성자(Constructor) 
07-3. 자바의 이름 규칙(Naming Rule) 

Chapter 08. 클래스 패스와 패키지 
08-1. 클래스 패스(Class Path)의 지정 
08-2. 패키지(Package)의 이해 

Chapter 09. 접근제어 지시자와 정보은닉, 그리고 캡슐화 
09-1. 정보은닉(Information Hiding) 
09-2. 접근제어 지시자(Access Control Specifiers) 
09-3. public 클래스와 default 클래스 
09-4. 어떤 클래스를 public으로 선언할까요? 
09-5. 캡슐화(Encapsulation) 

Chapter 10. 클래스 변수와 클래스 메소드 
10-1. static 변수(클래스 변수) 
10-2. static 메소드(클래스 메소드) 
10-3. System.out.println & public static void main 

Chapter 11. 메소드 오버로딩과 String 클래스 
11-1. 메소드 오버로딩(Overloading) 
11-2. String 클래스 
11-3. API Document의 참조를 통한 String 클래스의 인스턴스 메소드 관찰 
11-4. StringBuilder & StringBuffer 클래스 
11-5. 단계별 프로젝트: 전화번호 관리 프로그램 01단계 

Chapter 12. 콘솔 입력과 출력 
12-1. 콘솔 출력(Console Output) 
12-2. 콘솔 입력(Console Input) 
12-3. 단계별 프로젝트: 전화번호 관리 프로그램 02단계 

Chapter 13. 배열(Array) 
13-1. 배열이라는 존재가 필요한 이유 
13-2. 1차원 배열의 이해와 활용 
13-3. 다차원 배열의 이해와 활용 
13-4. for-each 
13-5. main 메소드로의 데이터 전달 
13-6. 단계별 프로젝트: 전화번호 관리 프로그램 03단계 

Chapter 14. 클래스의 상속 1: 상속의 기본 
14-1. 상속은 재활용 + 알파(α) 
14-2. 상속의 기본문법 이해 
14-3. 상속과 접근제어 지시자 
14-4. static 변수(메소드)의 상속과 생성자의 상속에 대한 논의 

Chapter 15. 클래스의 상속 2: 오버라이딩 
15-1. 상속을 위한 관계 
15-2. 하위 클래스에서 메소드를 다시 정의한다면? 
15-3. 참조변수의 인스턴스 참조와 instanceof 연산자 

Chapter 16. 클래스의 상속 3: 상속의 목적 
16-1. 개인정보 관리 프로그램 
16-2. 모든 클래스가 상속하는 Object 클래스 
16-3. final 클래스와 final 메소드 
16-4. 단계별 프로젝트: 전화번호 관리 프로그램 04단계 

Chapter 17. abstract와 interface 그리고 inner class 
17-1. abstract 클래스 
17-2. interface 
17-3. Inner 클래스 
17-4. Local 클래스와 Anonymous 클래스 
17-5. 단계별 프로젝트: 전화번호 관리 프로그램 05단계 

Chapter 18. 예외처리(Exception Handling) 
18-1. 예외처리에 대한 이해와 try~catch문의 기본 
18-2. 프로그래머가 직접 정의하는 예외의 상황 
18-3. 예외 클래스의 계층도 
18-4. 단계별 프로젝트: 전화번호 관리 프로그램 06단계 

Chapter 19. 자바의 메모리 모델과 Object 클래스 
19-1. 자바 가상머신의 메모리 모델 
19-2. Object 클래스 

Chapter 20. 자바의 다양한 기본 클래스 
20-1. Wrapper 클래스 
20-2. BigInteger 클래스와 BigDecimal 클래스 
20-3. Math 클래스와 난수의 생성, 그리고 문자열 토큰(Token)의 구분 

Chapter 21. 제네릭(Generics) 
21-1. 제네릭 클래스의 이해와 설계 
21-2. 제네릭을 구성하는 다양한 문법적 요소 

Chapter 22. 컬렉션 프레임워크(Collection Framework) 
22-1. 컬렉션 프레임워크의 이해 
22-2. Collection〈E〉 인터페이스를 구현하는 제네릭 클래스들 
22-3. Set〈E〉 인터페이스를 구현하는 컬렉션 클래스들 
22-4. Map〈K, V〉 인터페이스를 구현하는 컬렉션 클래스들 
22-5. 단계별 프로젝트: 전화번호 관리 프로그램 07단계 

Chapter 23. 쓰레드(Thread)와 동기화 
23-1. 쓰레드의 이해와 생성 
23-2. 쓰레드의 특성 
23-3. 동기화(Synchronization) 
23-4. 새로운 동기화 방식 

Chapter 24. 파일과 I/O 스트림 
24-1. File I/O에 대한 소개 
24-2. 필터 스트림의 이해와 활용 
24-3. 문자 스트림의 이해와 활용 
24-4. 스트림을 통한 인스턴스의 저장 
24-5. Random Access 파일과 FILE 클래스 
24-6. 단계별 프로젝트: 전화번호 관리 프로그램 08단계 

Chapter 25. Swing 컴포넌트와 이벤트 핸들링 
25-1. Swing을 시작하기에 앞서 
25-2. Swing 컴포넌트와 이벤트 핸들링 
25-3. 레이아웃 매니저(Layout Manager) 
25-4. 이벤트와 이벤트 리스너(Event Listener) 
25-5. 다양한 Swing 컴포넌트 
25-6. 단계별 프로젝트: 전화번호 관리 프로그램 09단계 

APPENDIX A. 데이터 표현방식의 이해 
A-1. 진수와 진수변환 
A-2. 데이터 표현의 단위(비트, 바이트, 워드) 

APPENDIX B. 자료형에 안전한 열거형 
B-1. 열거형의 활용 
B-2. 열거형 클래스


  • 소개

Java 초보용으로 굉장히 많은 인기를 얻고 있는 책이다.
일명 코딩 붐이 일어나면서 IT관련 서적이 쏟아지고 있는 데
특히 Java 기본서는 굉장히 많이 나오고 있어 그만큼 묻혀버리는 Java기본서도 많다
이 책은 예전부터 지금까지 꽤나 오랜 기간인기를 끌고 있는 데
제목은 왜이리 특이한지 표지도 좀 오래되어 보이고.... 뭐 결론은 내용이 꽤나 좋다.
875페이지에 달하는 꽤나 두터운 책이지만 가격은 뭐 적당한 정가 28,000원이다.
또한 http://www.orentec.co.kr 에서 무료로 회원가입만하면 저자의 동영상 강의를
볼 수 있으니 책이 없어도 내용이 궁금하신 분들은 참고해도 좋을 것 같다.

  • 유기적인 내용과 핵심을 잘 알고있는 기본서

개인적인 생각일 수 있지만 내용의 흐름이 꽤나 잘 연결된다는 느낌을 받을 수 있었다.
또한 다른 책에 비하여 중요한 부분은 항상 중요하게 다루고 넘어간다.
말 그대로 기본서로 있을 건 다 있다.
이 책만 마스터까지는 아니더라도 제대로 익힌다면 웹개발이나 안드로이드로
넘어갈때 조금 더 수월하지 않을까하는 생각이 든다.


  • 네트워크가 왜 없을까..

네트워크가 없다. 이상하다. 한창 Java로 채팅만들기 공부를 할 때 책을 뒤적였는 데
정말 없는 것이다. 대신 Swing이 들어가있다......
이 책의 출시년도는 2009년도이다. 뭐.. 개정판이 나와야 해결될까 싶다.
물론 네트워크가 필요없는 분들도 있겠지만 Java기본서에서 네트워크 부분을 익히지 않고 JSP & Servlet으로 넘어간다면 초반에 이해도가 떨어지지 않을까 싶다.

"책 한권으로 Java 기본 Master 도전! 동영상은 덤!"

2016년 7월 14일 목요일

비전공자를 위한 자바 프로그래밍

비전공자를 위한 자바 프로그래밍

사진출처 : 한빛미디어
목   차
chapter 1 자바 프로그래밍을 시작하면서
1.1 컴퓨터의 기초
1.2 자바란
1.3 자바 프로그램의 작동 원리
1.3.1 컴파일과 실행
1.3.2 자바 가상 머신
1.4 자바 개발환경 구축하기
1.4.1 JDK 설치
1.4.2 이클립스 설치
1.4.3 Welcome to Java World!
chapter 2 기초 문법
2.1 기초 문법
2.1.1 데이터 타입
2.1.2 변수
2.2 여러 가지 연산자
2.2.1 산술 연산자
2.2.2 비교 연산자
2.2.3 논리 연산자
2.2.4 데이터 타입의 변환
2.2.5 연산자의 우선순위
2.3 여러 가지 배열
2.3.1 배열
2.3.2 다차원 배열
2.4 반복문
2.4.1 for문
2.4.2 while문
2.5 조건문
2.5.1 if문
2.5.2 switch문
chapter 3 클래스와 객체
3.1 클래스와 객체의 개념
3.2 클래스 선언하기
3.3 객체의 생성과 사용
3.4 메서드
3.5 생성자
chapter 4 클래스의 상속
4.1 상속의 정의
4.2 오버라이딩
4.3 여러 가지 수식자
4.3.1 final
4.3.2 static
4.4 추상 클래스
4.5 인터페이스
4.6 다형성
chapter 5 패키지와 접근제어
5.1 패키지
5.2 접근제어
chapter 6 입출력
6.1 입출력이란
6.2 스트림
6.3 파일 쓰고 읽기
6.3.1 파일 쓰기
6.3.2 파일 읽기
6.4 키보드로 입력하기
chapter 7 객체의 직렬화
7.1 직렬화와 역직렬화
7.2 직렬화 클래스 만들기
7.3 객체를 직렬화/역직렬화하는 방법
chapter 8 멀티스레드
8.1 멀티스레드란
8.2 멀티스레드 작성 방법
8.3 스레드 간의 통신
chapter 9 네트워크
9.1 네트워크의 기초
9.1.1 IP 주소와 포트 번호
9.1.2 DNS
9.1.3 클라이언트와 서버
9.2 네트워크 통신 프로그래밍
9.2.1 인터넷을 통해 데이터를 주고받을 때 필요한 것들
9.2.2 TCP/IP 프로그래밍
9.2.3 스레드를 이용한 채팅 프로그램
chapter 10 편리한 함수들
10.1 수학 관련 함수
10.2 문자 관련 함수
10.3 시간 관련 함수
마무리하며
부록 연습문제와 답

총   평

나는 자바책만해도 4~5권을 보유하고 있다.
왜냐하면 이해력이나 사고력이 바닥이기때문에 도저히 책이 술술 넘어가지 않았고
좀 더 쉬운 책이 없을까? 하고 쉬운 책부터 찾다보니 이 책을 선택하게 되었다.
처음에는 200페이지가 조금 넘는 얇은 책인데 가격은 16,000원이니 뭔가 내키지 않았고
결국 직접가서 책을 보고 구매하게 되었다. 참고로 저자도 비전공자 출신이기도 하다.
어떻게든 독자를 이해하기 위한 노력의 흔적들이 곳곳에 보인다.
다양한 이미지와 상세한 코드 설명 그리고 얇은 책이지만 예제도 많이 있는 편이다.

거기다가 출간일도 굉장히 최근이기때문에 나에게는 딱일수밖에 없었다.
단점으로는 출간한지 얼마 안된게 문제인지 오탈자가 조금 있었고
책 자체가 얇고 분량이 적은지라 자바의 모든 것을 다 넣을수는 없다.
이 책만으로 자바를 습득하고자 하는 분들은 꼭 이 다음 책이나 강의로 학습할 것을 권유한다.
대신 얇은 두께로 두고두고 버스에서 읽기 좋을 것 같다.
생활코딩에 egoing님의 강의를 볼때마다 느끼는 것은
어떻게든 이해를 시키고자 노력을 한다는 것이다.
이 책에서도 같은 느낌을 받았다.