이재환의 자바 프로그래밍 입문

이재환의 자바 프로그래밍 입문

$29.48
Description
★ 딱 필요한 만큼,
★ 자바 핵심 문법과 개념 이해 중심으로 배우는 새로운 자바 입문서
12년간 강의를 해보니 무엇을 이해하지 못하는지, 무엇을 어려워하는지, 현업 나가서 당장 쓸모 있는 기법과 그렇지 못한 기법이 무엇인지 알게 되었습니다. 프로그래머처럼 생각하고, 프로그래머로 안착할 분께 딱 필요한 만큼 알려드립니다. 초보자도 쉽고 명확하게 이해할 수 있도록 학습 목표를 일목요연하게 제시하고 핵심 내용을 정리해 보여줍니다. 이론도 실습으로 직접 체험하여 체득하게 했습니다. 단계별로 간단한 프로젝트를 구현합니다. 프로그래밍에 입문해 프로그래머로 취업하고 싶은 분들이라면 자바에 도전해보세요.

★ Must Have 시리즈 안내
Must Have 시리즈는 내 것으로 만드는 시간을 드립니다. 명확한 학습 목표와 핵심 정리를 제공하고, 간단명료한 설명과 다양한 그림으로 학습 효과를 극대화합니다. 예제를 제공해 응용력을 키워줍니다. 할 수 있습니다. 포기는 없습니다. 지금 당장 밑줄 긋고 메모하고 타이핑하세요! Must Have가 여러분의 성장을 돕겠습니다.
저자

이재환

저자이재환은27년차개발자로최근12여년간여러교육기관에서자바와모바일앱개발,빅데이터강의를겸하고있습니다.인프런에서〈예제로배우는스프링부트입문〉,〈디자인패턴withJAVA(GoF)〉,〈자바:클래스의이해와객체지향프로그래밍〉등의온라인강의도진행합니다.저서로는《예제로배우는스프링부트입문》(비제이퍼블릭,2020),《핵심강좌!유니티》(유페이퍼,2018),《핵심강좌!Cocos2d-X》(유페이퍼,2017)가있습니다.

목차

00장자바개발환경구축

[1단계자바기초프로그래밍]

01장HelloJavaWorld
_1.1프로그래밍언어
_1.2자바
_1.3JVM
_1.4첫자바프로젝트만들기
_학습마무리

02장자료형
_2.1진수계산법
_2.2컴퓨터에서데이터처리방식
_2.3자바기본자료형
_학습마무리

03장변수,상수,자료형의형변환
_3.1변수
_3.2상수
_3.3자료형의형변환
_학습마무리

04장연산자
_4.1산술연산자
_4.2대입연산자와복합대입연산자
_4.3부호연산자와증감연산자
_4.4비교연산자(관계연산자)
_4.5논리연산자
_4.6조건연산자
_4.7단항ㆍ이항ㆍ삼항연산자
_4.8연산자우선순위
_학습마무리

05장콘솔출력과입력
_5.1콘솔출력
_5.2콘솔입력
_학습마무리

06장제어문
_6.1조건문
_6.2반복문
_학습마무리

07장메서드와변수의사용가능범위
_7.1메서드정의하기
_7.2메서드종료하기
_7.3변수의사용가능범위
_학습마무리

08장Project계산기만들기(선수수업업그레이드)
_8.1메뉴만들기
_8.2메뉴출력및사용자입력
_8.3연산기능만들기
_8.4선택메뉴실행하기
_8.5유효성검사
_학습마무리

[2단계자바객체지향프로그래밍]

09장클래스의기초
_9.1객체
_9.2클래스
_9.3객체와클래스
_9.4오버로딩
_9.5생성자
_9.6접근제한자
_학습마무리

10장자바의메모리모델
_10.1자바의메모리모델
_10.2디버깅하며배우는스택영역원리
_10.3디버깅하며배우는힙영역원리
_10.4디버깅하며배우는힙영역객체참조
_학습마무리

11장스태틱의이해
_11.1스태틱
_11.2전역변수로사용
_11.3main()보다먼저실행
_11.4유틸메서드로사용
_학습마무리

12장클래스의상속
_12.1상속
_12.2오버라이딩
_12.3상속이제한되는final
_12.4추상클래스
_12.5인터페이스
_12.6다형성
_12.7instanceof연산자
_학습마무리

13장패키지와클래스패스
_13.1클래스패스
_13.2패키지
_13.3패키지로문제해결
_13.4임포트
_13.5자바에서기본제공하는패키지와클래스
_학습마무리

14장String클래스
_14.1String을선언하는두가지방법
_14.2문자열형변수의참조비교
_14.3문자열형변수의내용비교
_14.4String클래스의메서드
_14.6문자열결합
_14.7문자열분할
_학습마무리

15장배열
_15.11차원배열
_15.2for~each문
_15.3다차원배열
_15.4배열관련유틸리티메서드
_학습마무리

16장예외처리
_16.1예외와에러
_16.2예외종류
_16.3예외처리하기
_16.4예외처리미루기(던지기)
_학습마무리

17장자바의기본클래스
_17.1java.lang클래스
_17.2Object클래스
_17.3래퍼클래스
_17.4Math클래스
_17.5Random클래스
_17.6Arrays클래스
_학습마무리

18장열거형,가변인수,어노테이션
_18.1열거형
_18.2가변인수
_18.3어노테이션
_학습마무리

19장Project정렬알고리즘만들기
_19.1버블정렬
_19.2퀴즈:삽입정렬
_학습마무리

[3단계자바클래스응용프로그래밍]

20장제네릭
_20.1제네릭의필요성
_20.2제네릭기반의클래스정의하기
_20.3제네릭기반의코드로개선한결과
_20.4매개변수가여러개일때제네릭클래스의정의
_20.5제네릭클래스의매개변수타입제한하기
_20.6제네릭메서드의정의
_학습마무리

21장컬렉션프레임워크
_21.1자료구조
_21.2컬렉션프레임워크의구조
_21.3List〈E〉인터페이스를구현하는컬렉션클래스들
_21.4Set〈E〉인터페이스를구현하는컬렉션클래스들
_21.5Queue〈E〉인터페이스를구현하는컬렉션클래스들
_21.6Map〈K,V〉인터페이스를구현하는컬렉션클래스들
_21.7컬렉션기반알고리즘
_학습마무리

22장내부클래스,람다식
_22.1내부클래스
_22.2멤버내부클래스
_22.3지역내부클래스
_22.4익명내부클래스
_22.5람다식
_22.6함수형인터페이스
_학습마무리

23장스트림
_23.1스트림
_23.2중간연산,최종연산
_23.3파이프라인구성
_23.4컬렉션객체vs스트림
_23.5여러가지연산들
_학습마무리

24장입출력스트림
_24.1자바의입출력스트림
_24.2입출력스트림의구분
_24.3파일대상입출력스트림생성
_24.4보조스트림
_24.5문자스트림
_학습마무리

25장스레드
_25.1스레드의이해
_25.2스레드생성과실행
_25.3스레드동기화
_25.4스레드풀
_25.5Callable&Future
_25.6ReentrantLock클래스:명시적동기화
_25.7컬렉션객체동기화
_학습마무리

26장Project주소록만들기
_26.1프로젝트구상하기
_26.2PhoneInfo클래스만들기
_26.3메인메뉴구성하기
_26.4연락처입력
_26.5연락처조회
_26.6연락처삭제
_26.7프로그램종료시연락처저장
_26.8프로그램시작시연락처로드
_학습마무리

출판사 서평

★개발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장HelloJavaWorld
프로그래밍언어가무엇인지,자바와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주소록만들기★★★☆
지금까지배운모든내용을활용해서전화번호를저장하고조회하는주소록을단계별로만들어보겠습니다.