본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

방구석 부트캠프 자바

기본으로 돌아가 체계적으로 시작하는 견고한 개발자 되기


  • ISBN-13
    979-11-94084-05-1 (93000)
  • 출판사 / 임프린트
    리코멘드 / 리코멘드
  • 정가
    32,000 원 확정정가
  • 발행일
    2024-10-21
  • 출간상태
    출간
  • 저자
    김경록
  • 번역
    -
  • 메인주제어
    프로그래밍 및 스크립트언어 / 일반
  • 추가주제어
    -
  • 키워드
    #프로그래밍 및 스크립트언어 / 일반 #자바 개발자 #자바 기초 #자바 독학 #자바 문법 #자바 알고리즘 #자바 튜토리얼 #자바 #자바 프로그래밍 #자바 프로젝트 #자바 활용 #자바 다운로드 #자바 설치 #자바 17 #자바 21 #자바 환경변수 #자바 버전 #객체 지향 프로그래밍 #코딩 공부법 #코딩 교육 #코딩 부트캠프 #코딩 스킬 업그레이드 #코딩 실력 향상 #코딩 입문 #코딩 입문서 #코딩 초보자 #코딩 테스트 준비 #프로그래밍 기초 #프로그래밍 독학 #프로그래밍 로직 #프로그래밍 사고력 #프로그래밍 실습 #프로그래밍 언어 학습 #프로그래밍 연습 #프로그래밍 취업 #프로그래밍 학습법 #변수 선언과 데이터 타입 #조건문 #반복문 #배열 #메서드 #클래스와 객체 #생성자 #상속 #인터페이스 #예외 처리 #패키지 #접근 제어자 #추상 클래스 #오버로딩과 오버라이딩 #람다 표현식
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    188 * 257 mm, 664 Page

책소개

★ 여러분의 방구석을 실리콘밸리로 만들어 줄 58일간의 자바 부트캠프

『방구석 부트캠프 자바』는 자바를 실용적이고 체계적으로 학습하기 위한 입문서다. 코딩은 AI가 더 잘하는 시대가 맞지만, AI 시대에 필요한 종합적인 개발자 역량은 단순한 코딩 기술을 넘어, 복잡한 문제를 창의적으로 해결하는 능력, 프로젝트 전체를 조망하고 효과적으로 협업할 수 있는 의사소통 능력, 그리고 빠르게 변화하는 기술 환경에 적응하며 지속적으로 학습할 수 있는 자기 주도적 학습 능력이 요구된다. 무엇보다 AI 도구를 효과적으로 활용하여 업무 효율성을 높이는 것은 AI 시대를 살아가는 개발자의 필수 역량이다. 이 책은 그러한 흐름에 발맞춰 단순히 자바 언어의 문법, 명령어 등과 같은 기술 습득에 그치지 않고 만들고자 하는 것을 논리적 사고 단계에 따라 하나씩 업그레이드하면서 상황에 맞게, 예측할 수 있게, 읽기 편하게 코딩하는 방법을 알려주는 것에 초점을 맞추고 있다.

자바의 모든 것을 알려주고 있다고 할 순 없지만 적어도 이 책으로 자바를 시작한 독자가 포기하지 않고 끝까지 학습한 후, 이 책에서 이해한 것을 바탕으로 프로그래밍에 흥미를 느끼고 더 공부해 보고 싶다고 느끼도록 하는 것을 목표로 한다. 프로그래밍을 처음 시작한다면, 자바를 처음 시작한다면 더도 덜도 말고 딱 58일 과정으로 구성된 체계적인 학습 구조를 통해 프로그래밍에 입문할 수 있기를 바란다.


 

목차

CHAPTER 01 자바 프로그래밍 틀잡기

[DAY 01] 자바와 객체 지향 프로그래밍 알아보기

_객체 지향 프로그래밍을 배워 볼 필요

_객체 지향 프로그래밍 언어, 자바

_객체의 의미

_추상화의 의미


[DAY 02] 개발 환경 구축하기

_인텔리제이를 쓰는 이유

_인텔리제이 설치하기

_인텔리제이 실행하기

_인텔리제이에서 프로젝트 만들기

_인텔리제이 프로젝트 화면 살펴보기

_인텔리제이 환경 설정하기

 

[DAY 03] Hello를 출력하는 기능 만들기

_클래스 선언하기

_메서드 선언하기

_명령 추가하기

_메인 메서드 만들기

_인스턴스화하기

_Hello 대신 1+1 출력하기


 

CHAPTER 02 입력과 출력

[DAY 04] 한 글자씩 입력받기

_프로그래밍에서 입력받는다는 것의 의미

_InputStreamReader로 입력받기

_아스키 코드의 역할

_주석의 작동 원리

_두 글자씩 데이터 입력받기

 

[DAY 05] 버퍼를 이용해 한 줄 단위로 입력받기

_BufferedReader로 입력받기

_두 개의 숫자 입력받기

_입력받은 숫자 더하기


[DAY 06] 숫자형 데이터를 입력받아 안내문 출력하기

_Scanner로 입력받은 정수 더하기

_Scanner로 입력받은 문자 합치기

_입력 시 안내문 출력하기

 

[DAY 07] 여러 가지 방법으로 출력하기

_메인 메서드에서 바로 실행하기

_printf()로 포매팅해서 출력하기

_한 줄 띄우기

_소수점 출력하기

 

[DAY 08] 입력과 출력 활용하기(종합 예제)

_입력받은 세 개의 숫자 평균 구하기

_입력받은 값을 곱해서 세 자리마다 ,로 구분해서 출력하기


 

CHAPTER 03 변수와 타입

[DAY 09] 변수를 선언하고 초기화하기

_변수의 의미

_타입의 의미

_변수의 크기

_변수가 필요한 경우

_변수 선언하기

_변수 초기화하기

_변수 선언과 초기화를 한 번에 하기

_상수 선언과 값 할당하기

_강타입 언어 vs 동적 타입 언어

 

[DAY 10] 변수와 상수 활용하기(종합 예제)

_변수에 값을 담아 출력하기

_변수에 담았던 값 출력하기

_변수에 담긴 값 바꾸기

 

[DAY 11] 멤버 변수 알아보기

_멤버 변수의 의미

_멤버 변수가 필요한 경우

_멤버 변수 선언하기

_멤버 변수로 접근하기

_가비지 컬렉션
 

[DAY 12] 멤버 변수 활용하기(종합 예제)

_2D 좌표 평면상의 점 표현하기

_User를 클래스와 멤버 변수로 표현하기

_공장(Factory)을 클래스와 멤버 변수로 표현하기
 

[DAY 13] 숫자와 논리를 나타내는 타입 알아보기

_원시 타입과 참조 타입

_적절한 타입 사용의 중요성

_소수점을 다루는 float와 double

_true와 false를 저장하는 boolean 타입


[DAY 14] 데이터 타입을 변환하는 타입 캐스팅

_원시 타입 간 타입 캐스팅하기

_문자열(String)을 정수형(int)으로 타입 캐스팅하기

_소수점 문자열을 실수형으로 변환하기

 

[DAY 15] 문자열을 나타내는 String 타입 알아보기

_문자열 연결하기

_문자열 포매팅하기

_문자열 자르기

_문자열 비교하기

_문자열에서 문자열의 위치

_문자열 분리하기


 

CHAPTER 04 배열

[DAY 16] 배열 알아보기

_배열 선언하기

_배열을 선언하면서 초기화하기

_배열 값에 접근하기

_배열에 값 할당하기

_여러 가지 타입의 배열 선언하기

_참조 타입의 배열 선언하기

_배열을 멤버 변수로 사용하기

 

[DAY 17] 2차원 배열 알아보기

_2차원 배열 선언하기

_2차원 배열 값에 접근하기

_2차원 배열에 값 할당하기

_배열의 길이

_2차원 배열의 길이

 

[DAY 18] 2차원 배열 활용하기(종합 예제)

_가로 한 줄에 값 채우기

_세로 한 줄에 값 채우기

_배열 인덱스 간에 값 바꾸기

_한 줄로 숫자를 입력받아서 합계 구하기


 

CHAPTER 05 연산자

[DAY 19] 연산자 알아보기

_연산자와 피연산자

_연산자의 특징

_연산자의 종류

_연산자의 우선순위

 

[DAY 20] 산술 연산자 알아보기

_사칙 연산자와 나머지 연산자의 종류

_숫자를 산술 연산하기

_변수를 산술 연산하기


[DAY 21] 산술 연산자 활용하기(종합 예제)

_배열의 중간에 있는 숫자 구하기

_초를 "분:초"로 표현하기

_나머지 구하기


[DAY 22] 대입 연산자 알아보기

_변수에 값 누적하기

_문자열 누적하기

_10으로 나눈 결과를 누적해 자릿수 더하기


[DAY 23] 복합 대입 연산자와 증감 연산자 알아보기

_복합 대입 연산자의 종류

_복합 대입 연산자로 변수에 값 누적하기

_자릿수 더하기에 복합 대입 연산자 적용하기

_증감 연산자의 종류

_증감 연산자로 변수 값 증감시키기

 

[DAY 24] 대입, 복합 대입, 증감 연산자 활용하기(종합 예제)

_대입 연산자로 배열에 있는 모든 값 더하기

_증감 연산자로 배열의 인덱스 값 출력하기

_복합 대입 연산자로 복리 계산하기


[DAY 25] 비교 연산자, 논리 연산자, 조건 연산자 알아보기

_비교 연산자의 종류

_비교 연산자로 변수 값 비교하기

_논리 연산자의 종류

_AND 연산자로 조건 비교하기

_OR 연산자로 조건 비교하기

_NOT 연산자로 조건 비교하기

_조건 연산자
 

[DAY 26] 비교, 논리 연산자 활용하기(종합 예제)

_비교 연산자로 배열 값 간 비교하기

_AND 연산자로 보일러 온도 체크하기

_OR 연산자로 승진 가능 여부 확인하기

_NOT 연산자로 미성년자 여부 확인하기


 

CHAPTER 06 제어문

[DAY 27] if문 알아보기

_if문 사용하기

_비교 연산으로 논리값 받기

_논리 연산으로 논리값 받기

_else 사용하기

_else if 사용하기

 

[DAY 28] if문 활용하기(종합 예제)

_홀수인지 짝수인지 판단하기

_승진 대상자 확인하기

_배열에서 자리 바꾸기

_병원 진료 부위 확인하기


[DAY 29] switch-case문 알아보기

_switch-case문 사용 방법

_switch-case문을 개선한 switch 표현식

_표현식과 문의 차이

_switch 표현식의 결과를 변수에 대입하기


[DAY 30] switch-case문 활용하기(종합 예제)

_진료 시간 표현하기

_권한에 따른 접근 제어


[DAY 31] for문 알아보기

_반복문 사용하기

_반복 횟수와 시작 숫자 제어하기

_역순으로 반복하기

_i 값을 2씩 늘리기

_1부터 n까지 무한히 출력하기

_2i를 조건식의 비교 대상으로 삼기

_for-each문

 

[DAY 32] for문 활용하기(종합 예제)

_구구단 출력으로 반복문 익히기

_1부터 n까지 합 구하기

_n! 구하기


[DAY 33] while문과 do-while문 알아보기

_while문 사용 방법

_do-while문 사용 방법

 

[DAY 34] while문과 do-while문 활용하기(종합 예제)

_while문으로 카운트 다운하기

_while문으로 팩토리얼(n!) 구하기

_do-while문과 switch 표현식으로 고객센터 메뉴 구현하기


[DAY 35] 반복문과 조건문 함께 쓰기

_if문과 for문으로 홀수의 합 구하기

_while문으로 홀수의 합 구하기

_약수 구하기

_소수인지 판별하기

_최대 값 구하기

_break로 반복문 멈추기

_while문에서 break로 반복문 멈추기

_continue로 반복문으로 돌아가기


 

CHAPTER 07 메서드

[DAY 36] 메서드 선언하고 호출하기

_클래스와 메서드

_메서드 선언하기

_메서드 호출하기

_메서드를 사용하는 이유

 

[DAY 37] 메서드 구성 요소 알아보기

_접근 제어자

_리턴 타입

_메서드 이름

 

[DAY 38] 리턴 알아보기

_리턴 사용 방법

_참조 타입 리턴하기

_리턴값을 이용하여 조건 연산하기


[DAY 39] 매개변수 알아보기

_메서드에 매개변수 사용하기

_두 개 이상의 매개변수 사용하기

_원시 타입을 매개변수로 전달하는 방식 이해하기

_참조 타입을 매개변수로 전달하는 방식 이해하기


[DAY 40] 리턴과 매개변수 활용하기(종합 예제)

_String 타입의 매개변수 사용하기

_On인지 Off인지 알려 주는 메서드 사용하기
 

[DAY 41] 메인 메서드 알아보기

_메인 메서드 구성 요소

_접근 제어자 public

_static 키워드

_리턴 타입 void

_메서드 이름 main

_매개변수 String[] args

 

[DAY 42] 스태틱, 게터, 세터 메서드 알아보기

_스태틱 메서드 선언하기

_스태틱 메서드 호출하기

_게터 메서드와 세터 메서드가 필요한 순간

_게터, 세터 사용하기

 

[DAY 43] 스태틱 메서드 활용하기(종합 예제)

_스태틱 메서드로 중복된 코드 제거하기

_스태틱 메서드로 구구단 선택 출력하기

_게터, 세터를 Machine 클래스에 적용하기

 

[DAY 44] 메서드 오버로딩 활용하기

_메서드 오버로딩하기

_메서드 오버로딩으로 주차 정산하기



CHAPTER 08 생성자

[DAY 45] 생성자 알아보기

_생성자 선언하기

_생성자로 초기 값 설정하기

 

[DAY 46] this를 사용하여 생성자로 초기 값 설정하기

_this를 사용하여 멤버 변수의 초기 값 설정하기

_여러 개 멤버 변수의 초기 값 설정하기

_상황에 따라 유동적으로 매개변수의 초기 값 설정하기

 

[DAY 47] 생성자 오버로딩 알아보기

_생성자 오버로딩하기

_this()로 다른 생성자 호출하기



CHAPTER 09 상속과 추상 클래스

[DAY 48] 상속과 오버라이딩 알아보기

_상속 사용 방법

_메서드 오버라이딩하기

_메서드 오버라이딩으로 관리자 계정 만들기

 

[DAY 49] 추상 클래스 알아보기

_추상 클래스 선언하기

_추상 클래스를 상속받아 구현하는 방법

_추상 클래스 사용하기

 

[DAY 50] 추상 클래스 활용하기(종합 예제)

_직각삼각형 모양으로 별표 출력하기

_피라미드 모양으로 별표 출력하기



CHAPTER 10 인터페이스

[DAY 51] 인터페이스 알아보기

_인터페이스 선언하기

_인터페이스 구현하기

_인터페이스를 사용하는 이유


[DAY 52] 인터페이스 다중 상속하기

_다중 상속 구현하기

_다중 상속 사용하기

 

[DAY 53] 인터페이스 활용하기(종합 예제)

_ 최대 값 구하기

_최대 값을 이용해 최소 값 구하기

_인터페이스로 최대 값과 최소 값 동시에 구하기

 

[DAY 54] 의존성 주입 활용하기

_의존성 주입 적용하기

_변수를 선언하지 않고 의존성 주입하기

_익명 클래스 사용하기

_람다 표현식 사용하기



CHAPTER 11 자바 더 알아보기

[DAY 55] 제네릭 알아보기

_제네릭 선언 방법

_인터페이스에 제네릭 적용하기

_두 개 이상의 타입을 받는 인터페이스에 제네릭 적용하기

_클래스에 제네릭 적용하기

_내장 인터페이스에 제네릭 적용하기

_일반적으로 사용하는 타입 매개변수


[DAY 56] enum 알아보기

_열거 타입 선언 방법

_열거 타입의 상수에 값 지정하기

_switch 표현식에 열거 타입 활용하기


[DAY 57] 예외 알아보기

_예외 처리란

_예외 처리하기

_catch 소괄호 블록에 있는 변수 사용하기

_예외 발생 여부와 상관 없이 코드 실행하기

_throws를 이용한 예외 처리하기

_예외 처리 활용하기

_예외와 에러의 차이점


[DAY 58] 람다 표현식 알아보기

_람다 표현식 선언 방법

_매개변수가 없는 인터페이스 구현하기

_매개변수가 한 개인 인터페이스 구현하기

_매개변수가 두 개인 인터페이스 구현하기

_람다 표현식의 제약사항

본문인용

자동차를 예로 들어 볼까요? 자동차는 엔진, 바퀴, 서스펜스 등 수많은 부품으로 이루어져 있습니다. 부품을 하나하나 만들고 이것들을 서로 연결해서 조립합니다. 그러면 자동차가 완성되죠. 객체 지향 프로그래밍도 이와 유사합니다. 객체라는 부품을 각각 만들고, 그 객체들이 상호 작용할 수 있도록 엮어서 프로그램을 만드는 방법입니다. (본문 35쪽)

—--

객체는 ‘동사의 행위가 미치는 대상’입니다. 예를 들어 자동차는 ‘차 문을 연다’, ‘시동을 건다’, ‘에어컨을 켠다’, ‘음악을 듣는다’, ‘운전한다’, ‘깜박이를 켠다’, ‘주차한다’, ‘시동을 끈다’ 등과 같은 행위의 객체입니다. 이를 프로그래밍에 연결시켜 보면, 객체란 프로그램상에서 어떤 역할을 수행하는 요소, 데이터, 기능 등이라고 할 수 있습니다. (본문 36쪽)

—--

추상화란 복잡한 행위를 단순화해서 그 행위의 본질적인 특징에만 집중하는 것을 의미합니다. 옛날 자동차의 경우 열쇠를 꽂고 돌려서 시동을 걸었습니다. 요즘 자동차는 그저 버튼만 누르면 시동이 걸리죠. 이 두 가지 행위의 본질적인 특징은 ‘시동을 건다’입니다. 즉, ‘열쇠를 꽂고 돌린다’와 ‘버튼을 누른다’와 같은 두 가지 행위를 ‘시동을 건다’로 추상화할 수 있습니다. 한 가지 비슷한 예를 들어 보면 옛날 자동차는 수동으로 기어를 변속했습니다. 반면 요즘 자동차는 모드를 D에 놓기만 하면 자동으로 변속이 되죠. 이 행위 역시 ‘변속한다’로 추상화할 수 있습니다. 이러한 특징을 모두 모아 옛날 자동차와 요즘 자동차를 ‘자동차’라고 추상화할 수도 있습니다. (본문 37쪽)

—--

개발자 입장에서는 어떤 도구로 개발을 하는지에 따른 차이가 큽니다. 우리가 게임을 할 때도 내 캐릭터가 스킬을 많이 가지고 있으면 사냥하거나 게임 콘텐츠를 이용할 때 편하고 좋습니다. 그런 의미에서 메모장은 아무런 스킬이 없는 캐릭터에 비유할 수 있습니다. 이에 반해 인텔리제이, 이클립스 등은 다양한 스킬을 가지고 있는 캐릭터에 비유할 수 있습니다. 프로그램 개발과 관련하여 필요한 작업, 즉 코딩, 디버깅, 컴파일, 배포 등을 하나의 프로그램에서 처리해 주는 환경을 가진 소프트웨어죠. 이와 같은 소프트웨어를 통합 개발 환경, 줄여서 IDE라고 부릅니다. (본문 40쪽)

—--

변수는 ‘변하는 수’를 말합니다. 변수는 메모리에 공간을 확보하는 일종의 건물 이름과 같은 개념입니다. 남산의 특정 공간에 세워진 남산타워처럼 메모리의 특정 영역에 ‘nsTower’라는 공간을 두는 것이죠. 이 공간은 메모리의 한 영역을 이미 차지하고 있으므로 값을 넣어 뒀다가 필요할 때 꺼내 쓸 수 있습니다. (본문 136쪽)

—--

변수와 대비되는 것이 상수입니다. 상수 역시 변수와 마찬가지로 메모리 공간을 확보하고 값을 담는다는 특징이 있습니다. 그런데 상수는 ‘항상 같은 수’를 뜻합니다. 상수는 값을 담으면 절대 그 값을 바꿀 수 없습니다. 현실 세계에서는 건물의 엘리베이터, 계단, 바닥, 벽 등과 같이 고정된 것들을 말하고, 프로그래밍 세계에서는 원주율 3.141592…와 같이 항상 고정된 값을 말합니다. (본문 137쪽)
 

서평

『방구석 부트캠프』는 편안한 나만의 공간에서 하루 30분~1시간, 작은 실천을 위한 마음가짐으로 시작하는 ‘견고한 개발자 되기’ 프로젝트다. ‘작은 실천’이 모여 ‘큰 목표'에 한 걸음 다가가는 것을 돕기 위해 『방구석 부트캠프』는 정교하게 기획 구성되었다.


★ 방구석 부트캠프 시작을 위한 세 가지 요건

하나, 방구석(편안한 나만의 공간)

이 책은 학습자가 집에서 혹은 편안한 본인만의 공간에서 자율적으로 몰입하여 집중적으로 학습할 수 있게 구성하였다. 이동 시간이나 공간 제약 없이 오로지 책 한 권만으로 언제든 학습할 수 있다.

 

둘, 하루 30분~1시간

방구석 부트캠프는 빠른 진도, 많은 과제, 높은 난이도 등이 버거운 입문자들을 위해 하루 30분에서 1시간의 투자로 기본 개념부터 심화 학습까지 체계적으로 학습한다. 특히 이 책은 주입식 프로그래밍 문법, 이론이 빠진 실습 위주의 스파르타식 학습이 아닌 ‘태어나서 코딩은 처음'인 사람도 상황에 맞게(적절한 비유와 예시), 예측할 수 있게(점진적으로 쌓아가는 코딩), 읽기 편하게(작명 및 구조 이해) 코딩할 수 있도록 알려 준다.
 

셋, 작은 실천을 위한 마음가짐

‘태어나서 코딩은 처음’인데 내가 할 수 있을까라는 생각으로 시작하는 게 쉽지 않다. 이 책은 58DAYS로 구성된 점진식 학습법을 추구한다. 날짜별로도 갑자기 어려워지는 것이 없도록 완만한 난이도로 구성한 것은 물론, 예제 또한 학습자의 논리적 사고 단계에 따라 하나씩 업그레이드해 나가며 완성한다. 이런 학습 방식은 날이 거듭될수록 체화되어 어떤 복잡한 문제를 만나도 쉽게 해결하고 있는 자신을 발견할 수 있을 것이다. 하루하루 건너뛰지 않고 매일 실천할 수 있는 마음가짐만 준비하자. 어느새 프로그래밍 언어를 익혀 ‘프로그래밍할 수 있는 사람’이 되어 있을 것이다.


 

★ 이 책이 필요한 독자

  • 프로그래밍 입문자: 코딩을 처음 시작하는 비전공자나 초보자들로, 친절하고 체계적인 설명을 통해 자바를 배우고 싶어하는 사람들
  • 시간이나 비용이 부족한 경력 전환 희망자: 다른 분야에서 일하다가 개발자로 전향하고자 하나, 부트캠프 등에 참여할 시간이나 비용이 부족한 사람들
  • 자기계발 열망 직장인: 현재 직장을 다니면서 개발 스킬을 향상시키고 싶어하는 직장인들로, 자기 주도적 학습이 가능한 구조를 찾는 사람들
  • AI 시대 적응 희망 개발자: AI 시대에 맞춰 자신의 역량을 업그레이드하고 싶어하는 사람들
  • 예제 중심 학습 선호자: 단순한 이론보다는 예제를 하나씩 만들어가는 과정을 통해 실용적인 지식과 기술을 배우고 싶어하는 사람들
  • 예시로 이해하고 싶은 비전공자: 낯선 용어와 개념을 문과식 비유를 통해 쉽게 이해하고 싶어하는 사람들


 

★ 추천평

요즘엔 다양한 부트캠프와 교육 기관 덕분에 프로그래밍을 배울 수 있는 기회가 많아졌습니다. 하지만 내 손이 닿는 곳에 놓인 좋은 책 한 권이 주는 가치는 여전히 큽니다. 〈방구석 부트캠프〉 시리즈의 꼼꼼하고 알찬 구성을 보니 바로 이 책이 그런 책이라는 생각이 듭니다. 온라인 클래스에 집중하기 힘들거나 오프라인 수업이 부담스럽다면 내 방 안에 직접 부트캠프를 차려 보세요. 컴퓨터는 성능이 좋지 않아도 괜찮습니다. 어질러진 책상 위를 정리하고 컴퓨터 옆에 『방구석 부트캠프 자바』 책을 놓은 다음 바로 시작하는 거죠. 마지막 날 캠프를 마치고 당당히 수료증에 이름을 써서 책상 옆에 붙여 보세요. 벽에 붙인 〈방구석 부트캠프〉 수료증이 늘어날수록 여러분의 자신감도 당연히 커질 것입니다. 그럼 아마 이 책을 만난 순간을 잊지 못할 거예요!

- 박해선(Microsoft AI MVP, 『혼자 공부하는 머신러닝+딥러닝』 저자)

 

『방구석 부트캠프 자바』는 현대 IT 교육에서 점점 높아지는 부트캠프의 경쟁률과 비용 문제를 해결할 수 있는 탁월한 대안을 제시하는 책입니다. 겸임교수로서 현업과 교육에서 본 바, 이 책은 단순한 기초 자바 문법을 전달하는 데 그치지 않고, 람다 표현식과 제네릭과 같은 심화 내용까지 포괄적으로 다루며 체계적인 구성을 갖추고 있습니다.

특히, 학습자가 스스로 진도표를 체크하며 자기 주도 학습을 할 수 있도록 설계된 점이 인상적입니다. 58일에 걸친 학습 과정에 이론과 실습이 균형 있게 조화된 이 책은 자바 학습을 시작하는 이들에게 강력히 추천할 만한 책입니다. 

- 맹윤호(이화여대 신산업융합대학 겸임교수, 스퀘어라이드 대표)

 

개발자라는 꿈을 꾸는 사람들에게 필요한 것은 거창한 준비물이나 특별한 환경이 아닙니다. 그보다는 작은 실천과 꾸준함이 성공을 이끄는 열쇠가 됩니다. 바로 이 점을 강조하며, 이 책은 독자들에게 일상 속에서 편안하게 자바를 배우고 익히는 길을 제시합니다.

기존의 개발서와는 다른 접근 방식을 취한 『방구석 부트캠프 자바』는 특히 혼자 공부하기 어렵다고 느끼는 초심자에게 훌륭한 학습 동반자가 될 것입니다. 필요한 개념들을 명확히 짚어 주며, 예제를 통해 지식을 실제로 적용해 볼 수 있게 구성된 이 책은 개발에 대한 열정이 있지만 시작하기가 어려운 사람들에게 강력히 추천할 만한 자바 입문서입니다.

- 함정호(IKC Technical Consultant, SAAS 솔루션 개발)

 

어떤 공부든지 용어가 정의되어야만 학습의 흐름을 잡을 수 있다고 믿는 사람 중에 하나입니다. 이 책은 용어를 통해 코딩이 어떻게 흘러가는지 흐름을 이해하게 해줍니다. 그것도 아주 친절하게. 처음 자바 공부를 시작했을 때 들었던 의문 포인트를 하나하나 다 설명해 놓았습니다. 낯선 용어와 개념이 등장하면 어김없이 등장하는 적절한 예시가 한 줄기 빛 그 자체였습니다. 비전공자인지라 문과식 비유를 했어야 이해를 했던 내 시점을 정확히 반영한 책입니다. 자바에 입문했을 때 이 책으로 시작했다면 조금 더 친숙하게 코딩을 접하지 않았을까 생각해 봅니다.

- 김영환(메타넷 시스템 엔지니어)

저자소개

저자 : 김경록
12년에 걸쳐 백엔드 , 프론트엔드 , 인프라 , DB에 기반을 두고 다양한 프로젝트를 경험하고 있다.
현재는 스마트 팩토리 기업 3View에서 백엔드 & 임베디드 개발자로 일하고 있다. 저서로는 『파이썬으로 익히는 말랑말랑 알고리즘 』(비제이퍼블릭, 2022), 『한입에 웹 크롤링 』(비제이퍼블릭, 2018), 『Node.js 200제』(정보문화사, 2018), 역서로는 『웹 데이터 수집의 기술』(한빛미디어, 2017) 등이 있다.

▶ 블로그 | https://krksap.tistory.com
상단으로 이동