메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

자바와 멀어진 거리를 가장 빠르게 좁힐 수 있는 방법

on***

|

2019-06-27

혼자 공부하는 자바

이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다!

  • 저자 : 신용권
  • 출간 : 2019-06-10

 

 

자바라는 언어는 저에겐 조금 거리가 있는 언어입니다. 대학생 때 처음 배우고, 사회 초년생 때 잠시 사용했지만, 회사에서 자바가 아닌 다른 언어로 개발을 하고 있기 때문에, 자바를 잘한다는 말은 절대 못 하겠죠.

안드로이드 앱을 만들어 보고 싶어서 자바를 잠시 사용해보고, 누구나 하는 건 조금 해야 하지 않나 해서 자바로 개인 프로젝트도 해보고 했지만, 주로 쓰지 않으니 자연스럽게 잊어버리는 것이 생겼습니다. 물론 새로 생긴 것들도 배울 이유가 없는 상황이었습니다.

이번 기회에 '혼자 공부하는 자바'를 통해 한동안 잊고 지냈던 자바 지식을 갱신시켜보고자 공부를 시작했습니다.

공부기간

책 이름에서부터 알 수 있듯, 입문자를 위한 서적이기 때문에 많은 시간을 투자하려고 생각하지는 않았습니다. 홈페이지를 통해 공부 일정을 확인하고, 강의도 들을 수 있었지만, 짧은 시간으로 가능한 많은 지식을 얻어내는 걸 목표로 했습니다. 일정을 따로 짜지는 않고 하루에 1~2시간 정도 시간을 내서 책을 정리했습니다.

저의 경우에는 책의 마지막 내용을 읽고 정리하는 것까지 4일 차에 마무리했습니다. 시간으로 따지면 7시간 정도 소요되었는데, 아래 공부 방법에서 이야기하겠지만 이미 개발을 일로 하는 상태에서 빠르게 몰랐던 내용을 정리하면서 읽었기 때문에 걸린 시간입니다. 입문용으로 공부를 한다면 일반적으로 배 이상 걸리지 않을까 싶네요.

공부 방법

적은 시간으로 자바에 대한 잊어버린 개념을 빠르게 채우고 싶었기 때문에 책에 있는 손코딩은 따로 하지 않았습니다. 물론 직접 코딩하면서 얻는 지식은 말로 할 필요 없이 중요하지만, 회사에서도 하던 코딩을 공부하면서까지 하고 싶지는 않았던 게 사실 가장 컸습니다. 대신, 단어 하나하나에 집중해서 글을 읽고, 지금 사용하는 언어와 다른 점이나 문법이나 개념에 대해 잊고 있었던 점이 보이면 포스트잇으로 표시해놓고, 해당 내용을 정리하는 방식으로 진행했습니다. 책을 마무리하는 시점에는 제가 자바에 대해 몰랐던 부분만을 정리해 놓은 가장 좋은 요약본이 될 거라 생각했습니다.

공부를 했던 주요 포인트

1장부터 5장까지 프로그래밍에 대한 기본적인 내용들(IDE, 변수, 연산자, 조건문...)은 최대한 빨리 확인하며 지나갔습니다. 크게 달라진 점은 없지만, 확실히 최근에 나온 책이라 JDK 11 이후로 변경된 점들을 설명한 부분이 눈에 띄었습니다. 자바를 쓴지 오래되었다는 걸 약간 실감할 수 있는 부분이기도 했는데요. 나머지 내용은 현재 사용하고 있는 언어와 비교해서 차이점이 있으면 줄을 치고 포스트잇으로 표시를 했습니다. 표시한 내용들은 저에게 가장 빠르게 자바의 특징을 설명해주는 부분들이니 따로 정리를 했습니다.

손코딩을 할 수 있도록 코드를 작성해둔 부분이 각 부분마다 많이 있었는데, 딱히 코딩과 더 친해질 필요는 없다고 생각해서 설명한 부분이 해당 코드에서 사용된 내용만 밑줄을 긋고 넘겼습니다. 내용이 꽤 많아서 손코딩을 다 한다면 코드 치는 데에는 꽤 익숙해지지 않을까 싶었습니다. 각 파트마다 있는 마무리 문제들은 꽤 재미있기도 하고, 아는 내용을 확인하는 데 도움이 됐습니다.

6장부터 클래스에 대한 내용이 나오고, 이후 인터페이스와 상속 같은 내용들이 나오는데 입문 서적이다 보니 클래스나 인터페이스의 설계 같은 심화적인 내용보다는 자바에서 해당 내용을 어떻게 구현하는지에 대한 부분을 초점을 두고 설명이 진행됩니다. 입문서에서 해줄 수 있는 내용은 최대한 담겨있다고 보았고, 저는 주로 읽으면서 자바 문법 자체에 집중했습니다. 당장 사용할 일이 생기지는 않을거라 생각해 앞부분에서 정리 한 것처럼 코드를 문법 노트처럼 만들어서 정리해두었습니다.

12장 이후로 나왔던 쓰레드, io에 대한 내용은 개념적으로만 확인하고 넘어갔습니다, 의외로 도움이 많이 되었던 부분은 java.util 패키지에서 제공하는 컬렉션에 대한 설명이었습니다. 자바를 공부해보겠다고 자바로 풀었던 알고리즘 문제나 개인 프로젝트 개발을 할 때 '어떻게 처리해야 하지?' 하는 부분에서 명확히 알고 있는 것과 모르고 있는 것의 차이를 가장 많이 보이는 부분이 이런 컬렉션을 사용하는 부분이라고 느꼈던 적이 많았기 때문입니다.

공부 후기

공부를 마친 시점에서 느끼는 점으로는, 개발을 일로써 하는 사람들이 이 책의 모든 내용을 곱씹으면서 진행하기에는 지루하다는 생각이 들 수 있겠다는 것이었습니다. 물론 이 책은 입문자를 위한 책이기 때문에 이런 느낌을 받는 게 너무나도 당연하겠지만요.

그러나 다른 언어로 개발을 하고 있다거나, 자바를 사용한 지 오래돼서 이미 배운 내용임에도 정말로 알고있다고 말하기에는 조금 애매한 사람들에게 '자바'라는 언어 자체만을 빠르게 훑고 넘기는 걸 목표로 한다면 분명히 도움이 되는 책이라 생각합니다.

저 역시 자바 프로젝트를 한 지 정말 오래돼서 '이전에 자바를 해봤다'는 것 이상으로는 설명하기 애매한 실력이었고, 큰 목표를 위해서 자바 공부를 시작한 것은 아니었습니다. 그러나 이 책을 통해서 들인 시간 대비 자바 언어에 대한 익숙함의 향상이나 기본적인 내용을 정리할 수 있다는 점은 충분히 매력적인 부분이었습니다.

흔히 '자바 공부'를 위해서 천 페이지가 넘는 두꺼운 자바책으로 공부를 시작하거나, 무작정 자바 개인 프로젝트를 시작하는 주변 사람들을 많이 봤습니다. 그러나 실제 업무를 위해 공부하는 게 아닌 이상, 두꺼운 책으로 공부를 하면 끝까지 공부할 수 있는 경우가 거의 없었고 이전에 배웠다는 수준으로 자바 프로젝트를 시작하면 딱 아는 수준에서만 개발을 하게 되니, 흔히 말하는 프레임워크 사용법만 익히는 정도로 끝을 내는 경우가 많았습니다.

이 책에서 다루는 내용이 자바의 언어적 특성에 맞춰져 있기 때문에 이 책만으로 자바를 전부 공부했다고 말할 수준은 아닙니다. 책에서도 이 책으로는 입문을 위한 정도까지이고, 더 자세한 내용은 고급 수준의 서적을 통해 배우라고 되어있기도 합니다.

이 책은 입문자들을 위한 책이지만, 모든 사람들이 자바를 배우는 이유가 다양하듯 저와 같이 자바를 다시 시작해보려는 사람들에게 짧은 시간으로 자바 공부에 대한 워밍업을 할 수 있는 첫 단계로써는 충분히 도움이 되는 책이라고 생각합니다.

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?