Must Have 시리즈 안내
Must Have 시리즈는 내 것으로 만드는 시간을 드립니다. 명확한 학습 목표와 핵심 정리를 제공하고, 간단명료한 설명과 다양한 그림으로 학습 효과를 극대화합니다. 예제를 제공해 응용력을 키워줍니다. 할 수 있습니다. 포기는 없습니다. 지금 당장 밑줄 긋고 메모하고 타이핑하세요! Must Have가 여러분의 성장을 돕겠습니다.
개발 27년, 강의 12년의 노하우를 담은 자바 입문서가 나타났다
추후 현업에서 자바로 개발하는 데 필요한 기술을 단계별로, 그리고 익히기 쉬운 순서로 예제를 통해 설명합니다. 예제를 직접 손으로 입력해서 실행해보고, 미니 프로젝트도 만들어보며 빠르고 쉽게 자바 프로그래밍을 익힐 수 있도록 구성했습니다. 초보자를 위한 쉬운 책이라는 이유로 어려운 개념을 생략하거나 모호한 용어를 사용해 억지로 외우게 하지 않습니다. 자바를 자바답게 이해하기 위해 필요하다면 어려운 개념도 다룹니다. 그림과 예제를 사용해 최대한 쉽게 설명하고 있습니다.
[숫자로 보는 책의 특징]
_0. 아무것도 몰라도 OK
프로그래밍을 전혀 모르는 분을 대상으로 합니다. 어려운 환경 설치 없이 웹에서 코딩을 체험할 수 있는 〈선수 수업〉으로 시작합니다.
_3가지를 챙겨드립니다
첫 코딩 뭣이 중요합니까? 개발 27년, 강의 12년의 베테랑 저자가 코딩 재미, 프로그래밍 개념 장착, 탄탄한 기본기를 모두 챙겨드립니다.
_3가지 프로젝트 제공
배운 내용만으로 만들 수 있는 간단하지만 유용한 프로젝트를 제공합니다.
___★☆☆☆ 계산기 만들기
___★★☆☆ 정렬 알고리즘 만들기
___★★★☆ 주소록 만들기
_4단계 자바 학습
0단계 〈선수 수업〉으로 코딩을 손에 익힌 다음, 1단계에서 자바 기초, 2단계에서 객체지향, 3단계에서 클래스 응용 프로그래밍을 배웁니다.
_12가지 〈선수 수업〉 예제 제공
자동차를 속속들이 몰라도 차를 몰 수 있듯이, 자바 문법 모두를 몰라도 자바 프로그램을 짤 수 있습니다. 최소한의 문법을 알려드리고 손으로 타이핑하며 재미를 느낄 수 있게 12가지 예제를 담은 〈선수 수업〉을 제공합니다.
_180여 개 본문 예제
180개가 넘는 예제를 활용해 설명합니다. 책에 등장하는 예제를 하나씩 따라 할 때마다 프로그래밍 실력이 차곡차곡 쌓이도록 충실히, 때로는 그림을 활용해서 설명했습니다.
[저자와 3문 3답]
Q. 취준생이 자바를 선택해야 하는 이유가 있을까요?
_A. 웹과 모바일 개발을 생각한다면 자바로 결론지을 수 있습니다. 특히 우리나라에서는 공공기관이나, 금융, 통신, 유통 등 대부분의 영역에서 자바로 시스템을 구축하여 사용합니다. 그렇기에 구인 수요도 다른 언어에 비해 훨씬 많습니다. 우리나라에서 자바 언어는 프로그래밍의 기초 체력과 같습니다.
Q. 자바 언어의 특징을 알려주세요.
_A. 자바는 변수, 상수, 함수(메서드) 개념과 각종 연산자, 표현식 개념이 있으며 객체지향 개념도 가지고 있습니다. 버전 8에 함수형 개념이 도입되면서 현대적 언어의 모든 요소를 가지게 되었습니다.
Q. 자바로 개발할 수 있는 분야를 알려주시겠어요?
_A. 흔히 볼 수 있는 웹 사이트뿐 아니라, 기업에서 사용하는 ERP나 웹 앱 등이 자바를 베이스로 하는 프레임워크로 만들어집니다. 그리고 안드로이드 앱 개발도 자바로 하게 됩니다. 빅데이터 관련한 플랫폼인 하둡 자체도 자바로 개발되어 있습니다. 이처럼 자바는 특정 분야에 국한되어 사용되지 않고 아주 다양한 분야에서 널리 사용되고 있습니다.
[이 책의 구성]
이 책은 설치 없이 자바 프로그래밍과 친숙해지는 〈선수 수업〉(별책 부록)과 본책으로 구성되어 있습니다. 본책은 1~3단계까지 ‘자바 기초 프로그래밍’, 객체지향 프로그래밍’, 응용 프로그래밍’을 차례대로 다룹니다.
_별책 부록 〈선수 수업〉
자바 선수 수업은 무작정 자바 코드를 보고 실행해보면서 프로그램이 어떻게 돌아가는지 눈과 손으로 확인하고 흥미를 유발하는 데 목적을 둡니다. 다른 언어를 익힌 현업 프로그래머라면 선수 수업을 건너뛰고 0장 ‘자바 개발 환경 구축’으로 이동해도 좋습니다. 프로그래밍 입문자라면 하나하나 타이핑해가며 실습하기 바랍니다.
_00장 자바 개발 환경 구축
윈도우에 자바 개발 환경을 구축해봅시다. 프로그래밍 입문자를 배려해 따라 하면 개발 환경이 구축되도록 안내합니다. 예제 코드를 내려받는 방법도 알아보겠습니다.
[1단계 자바 기초 프로그래밍]
모든 프로그램 언어에서 변수, 상수, 자료형, 표현식, 메서드 표현은 거의 유사합니다. 여기서는 자바를 통해 이런 프로그래밍의 기초를 배우게 됩니다. 여기서 배운 기초는 모든 프로그램 언어에서 거의 그대로 사용할 수 있습니다.
_01장 Hello Java World
프로그래밍 언어가 무엇인지, 자바와 JVM은 어떤 관계인지 알아봅니다. 첫 자바 프로젝트도 만들어보고 이클립스 사용법도 알아봅시다.
_02장 자료형
프로그래밍을 이해하려면 하드웨어 동작 원리를 알아야 할 필요가 있습니다. 하드웨어를 제어하는 코드의 묶음이 프로그래밍이기 때문입니다. 하드웨어의 동작 이해와 함께 자료형을 배워보겠습니다.
_03장 변수, 상수, 자료형의 형변환
선수 수업에서 배운 변수와 상수의 개념을 확장해봅니다. 그리고 자료형의 형변환이 무엇인지 알아봅니다.
_04장 연산자
흔히 연산이라고 하면 수학 시간에 배운 사칙연산을 떠올리겠지만, 프로그래밍에서 사용하는 연산은 그외에도 다양한 종류가 있습니다. 우리가 흔히 생각할 수 있는 산술연산 외에도 대입 연산, 비교 연산, 증감 연산, 논리 연산 등이 있습니다. 자바에서 다루는 다양한 연산을 알아보겠습니다.
05장 콘솔 출력과 입력
우리는 이미 System.out.println( )과 System.out.print( )로 출력을 많이 해보았습니다. 그래서 출력을 간단히 정리하고, 입력을 더 깊이 살펴봅니다. 입력까지 배우고 나면 더 재미있는 프로그램을 만들 수 있습니다.
_06장 제어문
자바에서 다루는 다양한 제어문(if문, switch문, 반복문)을 알아봅니다.
_07장 메서드와 변수의 사용 가능 범위
메서드를 만들고 사용하는 방법과 변수의 사용 가능한 범위를 알아보겠습니다.
_08장 Project 계산기 만들기(선수 수업 업그레이드) ★☆☆☆
선수 수업 맨 마지막 단계에서 계산기를 만들었습니다. 출력된 메뉴에서 사용자가 사칙연산 중 하나를 선택하고, 다시 사용자가 입력한 값으로 계산을 수행하여 결과를 출력하고 다시 메뉴를 출력하는 계산기였습니다. 지금부터 구현할 계산기는 선수 수업에서 만든 계산기와 기능이 같습니다. 하지만 지금까지 배운 모든 내용을 적용해서 더 완성도 높은 프로그램으로 만들어보겠습니다.
[2단계 자바 객체지향 프로그래밍]
자바에서 다루는 객체지향 이론을 알아봅니다. 객체지향 4대 요소인 추상화, 캡슐화, 상속, 다형성을 자바에서는 어떻게 사용하는지 익히면서 클래스 사용 방법도 배웁니다.
_09장 클래스의 기초
클래스의 기본 개념을 알아보고, 클래스를 통해 객체를 생성하고 사용하는 방법을 알아봅니다.
_10장 자바의 메모리 모델
자바에서 사용하는 메모리 모델의 구조를 알아봅니다. 자바에서 사용하는 메모리 모델의 구조를 이해하면 자바 프로그래밍에 큰 도움이 됩니다. 그러나 모든 것을 자세히 알 필요는 없습니다. 우리가 공부한 것과 연관해서 필요한 개념만 조금 이해하면 됩니다.
_11장 스태틱의 이해
예약어 static은 변수 및 메서드, 그리고 지정한 영역에 붙일 수 있습니다. 자바 프로그래밍에서 스태틱 예약어를 붙이면 동작이 어떻게 달라지는지 직접 보면서 이해해 봅니다. 스태틱의 다양한 사용 방법도 알아봅니다.
_12장 클래스의 상속
자바 클래스의 상속을 알아보고, 상속과 관련된 오버라이딩, 추상 클래스, 인터페이스, 다형성을 알아봅니다.
_13장 패키지와 클래스 패스
클래스의 경로를 지정하는 데 사용하는 클래스 패스와 패키지를 알아봅니다.
_14장 String 클래스
자바 String 클래스에서 다루는 다양한 메서드를 알아봅니다.
_15장 배열
자바의 배열을 알아보고, 배열을 다룰 때 사용하는 Array 클래스를 알아봅니다.
_16장 예외 처리
자바에서 다루는 다양한 예외 처리를 알아봅니다.
_17장 자바의 기본 클래스
Object 클래스와 Object 클래스를 상속받아 여러 기본 기능을 제공해주는 다양한 기본 클래스를 알아봅니다.
_18장 열거형, 가변 인수, 어노테이션
자바 프로그래밍을 할 때 큰 개념은 아니지만 프로그래밍을 편하게 해주는 소소한 요소들이 있습니다. 열거형, 가변 인수, 어노테이션 등이 그런 요소들입니다. 이번 장에서 가볍게 알아보겠습니다.
_19장 Project 정렬 알고리즘 만들기 ★★☆☆
버블 정렬과 삽입 정렬 알고리즘을 알아보고 구현하겠습니다.
[3단계 자바 클래스 응용 프로그래밍]
자바 클래스에서 가장 빈번하게 사용한다고 할 수 있는 컬렉션 프레임워크를 통해 자바에서 다루는 자료구조와 사용법을 익히고, 람다식을 통해 자바에서 다루는 함수형 프로그래밍 기법을 배웁니다.
_20장 제네릭
자바에서 다루는 제네릭을 알아봅니다
_21장 컬렉션 프레임워크
예전에는 자바 기본 문법을 배우고 자료구조를 따로 더 배웠지만 지금의 자바에는 개발자들이 많이 사용하는 자료구조가 컬렉션 프레임워크에 구현되어 있습니다. 자바에서 제공하는 컬렉션 프레임워크를 알아봅니다.
_22장 내부 클래스, 람다식
자바에서 사용하는 내부 클래스와 람다식을 알아봅니다.
_23장 스트림
자바에서 다루는 스트림을 알아봅니다.
_24장 입출력 스트림
자바에서 다루는 입출력 스트림을 알아봅니다.
_25장 스레드
자바에서 다루는 스레드를 알아봅니다.
_26장 Project 주소록 만들기 ★★★☆
지금까지 배운 모든 내용을 활용해서 전화번호를 저장하고 조회하는 주소록을 단계별로 만들어보겠습니다.