레이블이 자바 입문 서적인 게시물을 표시합니다. 모든 게시물 표시
레이블이 자바 입문 서적인 게시물을 표시합니다. 모든 게시물 표시

2016년 8월 20일 토요일

그림으로 배우는 JAVA PROGRAMMING BASIC


Java Programming Basic

재미있게 배워보는 Java 언어 기초의 모든 것, 그림으로 배우는

  • 목 차



Lesson 01. 시작하기
이 장에서는 Java 언어를 사용하여 프로그램을 작성하는 방법을 학습합니다. Java 언어의 학습을 시작한지 얼마 안된 무렵은 생소한 프로그래밍 단어에 고생할지도 모릅니다. 그러나 이 장에서 다루는 키워드를 이해하게 되면, Java 언어의 이해도 편해질 것입니다. 하나씩 차근차근 나의 것으로 만들어보도록 합시다.
Lesson 02. Java의 기본
이전 장에서는 Java 코드를 입력한 후, 컴파일러와 인터프리터를 사용하여 프로그램을 실행시키는 방법을 배웠습니다. 그럼 앞으로 우리는 어떤 코드를 입력하면 좋을까요? 코드를 작성하여 프로그램을 만들기 위해선 Java 문법 규칙을 알아야 합니다. 이 장에서는 기본적인 Java 문법을 배워보도록 하겠습니다.
Lesson 03. 변수
제 3장에서는 문자나 숫자를 화면에 출력하는 방법을 배웠습니다. 문자나 숫자는 프로그래밍을 시작한지 얼마 되지 않은 분들에게도 그다지 위화감 없는 주제였으리라 생각합니다. 이 장에서는 드디어 프로그래밍 언어로서의 Java의 기능을 배우게 됩니다. 먼저, 가장 기본적인‘변수’에 대해 살펴봅시다.
Lesson 04. 식과 연산자
컴퓨터는 다양한 일을 할 수 있습니다. 이 때 필요한 기능이‘연산’입니다. Java 프로그램을 만들 때에도 연산은 빼 놓을 수 없는 기능 중 하나입니다. Java에서는 간단하게 연산을 수행할 수 있도록‘연산자’라는 기능을 제공합니다. 이 장에서는 다양한 연산자의 사용 방법을 배웁니다.
Lesson 05. 경우에 따른 처리
지금까지 작성했던 코드에서 각 문장들은 한 번에 하나씩 처리되고 있었습니다. 그러나 더 복잡한 처리를 하고 싶은 경우, 순차적으로 문장을 처리하는 것만으로는 부족할 수 있습니다. Java에는 여러 문장을 모아서 코드의 흐름을 제어하는 방법이 있습니다. 이 장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웁니다.
Lesson 06. 여러 번 반복하기
제 5장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웠습니다. Java에는 그 외에도 문장을 컨트롤하는 기능이 포함되어 있습니다. 이 기능은 ‘반복 문(루프 문)’이라고 합니다. 반복문을 사용하면 동일한 작업을 여러 번 반복할 수 있습니다. 이 장에서는 반복문에 대해 배웁니다.
Lesson 07. 배열
제 3장에서는 변수를 사용하여 특정 값을 저장하는 방법에 대해 배웠습니다. Java에는 이 외에도 동일한 형의 여러 값을 함께 저장하는‘배열’이라는 기능이 있습니다. 배열을 사용하면 많은 데이터를 처리하는 복잡한 코드를 깔끔하게 작성할 수 있습니다. 이 장에서는 배열의 원리에 대해 배워 보겠습니다.
Lesson 08. 클래스의 기본
지금까지 변수·배열 등 다양한 Java의 기능에 대해 배워 보았습니다. 이러한 기능들은 예로부터 다양한 프로그래밍 언어가 지원하고 있었습니다. 그러나 프로그램이 복잡해짐에 따라, 보다 효율적으로 프로그램을 작성하는 방법이 필요하게 되었습니다. 그러한 필요에 따라 새롭게 등장한 기능이 ‘클래스’입니다. 이 장에서는 클래스의 기본을 배웁니다.
Lesson 09. 클래스의 기능
8장에서는 클래스의 기본에 대해 학습했습니다. 그러나 클래스의 강력한 기능은 이 뿐만이 아닙니다. 견고한 프로그램의 작성을 돕기 위하여 클래스에는 다양한 기능이 준비되어 있습니다. 이 장에서는 클래스의 또 다른 강력한 기능에 대해 살펴봅니다.
Lesson 10. 클래스 이용
지금까지는 클래스와 그 강력한 기능을 확인하였습니다. 이 장에서는 클래스를 실제로 활용하는 방법을 학습하겠습니다. 클래스를 활용하면 실용적인 프로그램을 만들 수 있습니다. 이 장에서는 다양하게 변화하는 프로그램을 만들어 보겠습니다.
Lesson 11. 새로운 클래스
우리들은 8장에서 10장에 걸쳐 클래스의 다양한 기능을 학습했습니다. Java는 이미 설계된 클래스를 활용하여 새로운 클래스를 효율적으로 만들 수 있도록 지원합니다. 기존의 클래스를 이용하여 프로그램을 효율적으로 만들 수 있다는 것은 Java의 큰 장점입니다. 이 장에서는 새로운 클래스를 만드는 방법을 배워 보겠습니다.
Lesson 12. 인터페이스
이 장에서는 특수한 클래스에 대해 배워 보겠습니다. 이 장에서 배운 지식을 활용하면 클래스를 이용한 일관된 프로그래밍이 가능해집니다. 여기에서는 ‘추상 클래스’와‘인터페이스’라는 새로운 지식을 배워봅니다.
Lesson 13. 대규모 프로그램의 작성
지금까지 우리들은 소규모 프로그램을 여러 개 만들었습니다. 그러나 프로그램의 규모가 커지면 커질수록 코드에서는 더 많은 클래스를 다루어야 할 것입니다. 이 장에서는 큰 프로그램의 작성에 필요한 지식을 배웁니다.
Lesson 14. 예외와 입출력 처리
프로그램 실행 시에는 다양한 에러가 발생할 수 있습니다. Java는 프로그램 실행 중에 발생하는 오류에 대응하기 위한 ‘예외 처리’ 메커니즘을 제공합니다. 이 장에서는 이 예외 처리에 대해 배웁니다. 또한, 데이터의 읽기 및 쓰기를 위한‘입출력 처리’에 대해서도 학습해 보겠습니다.
Lesson 15. 스레드
지금까지 우리들이 작성한 프로그램은 그 수행 과정을 하나의 흐름으로 보고 추적할 수 있었습니다. Java는 이러한 처리 흐름을 코드에서 여러 개 만들 수 있도록 지원합니다. 이 장에서는, 처리의 흐름이기도 한 스레드를 여러 개 운영하는 방법을 배워 보겠습니다.
Lesson 16. 애플릿
Java를 사용해서‘애플릿’이라는 작은 프로그램을 만들 수 있습니다. 애플릿은 웹 브라우저 및 기타 환경에서 동작하는 그래픽컬한 프로그램입니다. 이 장에서는‘애플릿의 작성 순서’에 대해 학습해 보도록 하겠습니다.
목차 출처 : 영진닷컴블로그

  • 소개
그림으로 배우는 시리즈는 워낙 다양하게 준비가 되어있다.
물론 굉장한 베스트 시리즈는 아니지만 기본은 하는 시리즈는 아닐까 생각이 든다.
일단 번역서이지만 그렇게 거슬리거나 번역이나 신경쓰이는 오탈자는 딱히
기억에 나지 않는다. Mana Takahashi라는 일본의 저자가 쓴 책이며
페이지수는 551페이지이지만 본문의 글씨들이 큰 편이고 책도 굉자히 작다.
또한 그림이 많아 술술 넘어갈수있으니 페이지의 압박은 없을 수 있다.


  • 입문 || 초보용으로는 최고!

물론 이 책은 꾸준히 다 보거나 몇회 이상 정독한 것은 아니다.
하지만 다양한 그림으로 거부감없이 접근할 수 있었으며 확실히 그림의 영향으로
이해에 도움을 주었다. 글씨도 굉장히 크고 책도 작아서 부담을 느낄 수 없다.
특히 입문시기에는 막상 독학을 시작하려고 산 책에 시련을 겪는 경우가 많은 데
가볍게 시작할 수 있는 자신감을 기를 수 있다.

  • 모자란 깊이
입문 또는 초보용으로는 굉장히 뛰어난 반면에 하나하나 내용의 깊이나 설명.
전체적인 Java에 대한 깊이는 떨어진다. 나는 Java를 무조건 한 권으로 마무리 해버리겠다.
하시는 분들에게는 어울리지 않고 더욱 더 나아간 공부는 인터넷을 통하여
습득을 하던가 해야한다.

"책으로 Java 공부를 해야겠는 데 거부감이 드시는 분들에게 입문용으로 추천해드립니다"

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님의 강의를 볼때마다 느끼는 것은
어떻게든 이해를 시키고자 노력을 한다는 것이다.
이 책에서도 같은 느낌을 받았다.