티스토리 뷰

가장 인기 있는 프로그래밍 언어가 뭘까요? C, C++, C#, Python, PHP 여러 인기 있는 언어들이 있겠지만 예전부터 최근까지 오랫동안 꾸준히 1~2위를 지켜온 언어인 자바가 아닐까 생각해봅니다. 그 이유로는 요즘 가장 인기 있는 웹이나 스마트폰 어플리케이션에서 자주 쓰이며 그 외에도 매우 범용적으로 사용하기 쉬운 언어이기 때문이죠. 그래서 프로그래머라면 적어도 기본 문법 정도는 필수로 공부하는 언어이기도 한데요. 이렇게 인기가 많은만큼 국내에서도 정말 많은 자바 책들이 나와 있습니다.


그래서 오히려 책을 고르기가 힘드실 수도 있는데 프로그래밍 관련 책을 고를 때 꼭 생각해야할 게 있습니다.


첫 번째는 최신 기술이 적용돼 있느냐입니다. 요즘 세상이 바뀌는 속도가 엄청 빠른데 프로그래밍은 그 세상을 이끌어갈 수 있는 기술입니다. 그런데 과거에 머물러 있으면 안 되겠죠? 그래서 반드시 자바 8이 반영된 책을 고르셔야 합니다.


두 번째는 사람마다 자신에게 맞는 책이 있다는 것입니다. 분명 어떤 분야의 최고의 책이라 해서 읽었는데 별로였던 경험이 있을 겁니다. 아직 그 책을 읽을 준비가 덜 돼서일 수도 있지만 단순히 자신에게 맞지 않아서 그럴 수도 있습니다. 해당 분야의 책이 얼마 없다면 어쩔 수 없이 그런 책도 읽어야겠지만 자바 같은 경우 앞서 말했듯이 매우 많은 책들이 있기 때문에 골라 읽을 수 있습니다. 자바 역시 아무리 많은 사람들이 추천한 책이라도 자신에게 맞지 않을 수도 있습니다. 그래서 저도 5권이나 추천드리는 것이기 때문에 이왕이면 제 글을 참고하여 서점에서 직접 읽어보시고 구매하시는 것을 권해드립니다. 


이 글에선 자바 입문서 중 제가 괜찮다고 생각하는 책 몇 권을 추천하려고 합니다. 만약 중급 이상의 내용을 원하시는 분은 중급 내용부터 분야가 세분화돼 있기 때문에 명확히 어떤 책을 추천드리기 힘들고 기초가 어느 정도 돼있다면 본인이 필요한 책은 직접 찾을 능력이 있어야 한다고 생각합니다. 그럼 지금부터 자바 입문서를 하나씩 소개드릴텐데요. 마지막 한 권을 제외하고는 출간일순대로 적었습니다.


[네이버 책] 이것이 자바다 - 신용권


먼저 신용권 저자의 이것이 자바다라는 책입니다. 최근에 가장 많이 팔린 자바 입문서라 아마 관심을 갖고 찾아보신 분 중엔 모르는 분은 없을 겁니다. 책의 특징으로는 페이지가 무려 약 1200쪽으로 제가 소개하려는 책 중에 가장 두껍습니다. 그래서 두꺼운만큼 이 책의 내용만 확실히 안다면 이후에 중고급 기술을 배우면서 절대 기초가 부족하다는 생각이 들지는 않는다는 것입니다.


그리고 직접 책을 보기 전까지 모를 수도 있는데 이 책은 Part 1, 2로 나누어져 분권이 돼 있습니다. Part 1에서는 변수, 클래스, 상속, 예외 처리 등 정말 기초적인 내용에 대해 배우고, Part 2에서는 Part 1에서 배운 내용을 기반으로 스레드, 제네릭, 람다식, 컬렉션, 스트림 등 입문자에게는 어려울 수도 있는 내용을 설명합니다. 그렇기 때문에 Part 2로 넘어가기 전에 Part 1의 내용을 확실히 숙지하셔야 합니다.


또 다른 특징으로는 이 책은 GUI 어플리케이션을 만들기 위한 라이브러리로 JavaFX를 설명합니다. JavaFX 이전에는 Swing이라는 라이브러리를 사용했었는데 JavaFX를 설명하는 입문서는 국내 서적 중 최초가 아닌가 싶습니다.


마지막으로 이 책은 무료 강의를 제공합니다. 출판사인 한빛미디어에 가입하셔서 쿠폰 번호를 입력하면 1년 동안 이용이 가능한데 제 개인적인 경험으로 설명은 잘하시나 목소리가 약간 잠이 오는 목소리셔서 책을 읽는 도중 정말 이해가 안 되는 부분만 골라 들으시길 바랍니다. 열심히 찍어주신 저자님께 죄송합니다.


[네이버 책] Java의 정석 - 남궁성


다음은 남궁성 저자의 Java의 정석 제 3판입니다. 이 책 역시 제 1판이 나온 지 꽤 오래됐기 때문에 모르는 분이 거의 없을 겁니다. 이 책의 특징은 표지와 이름에도 느껴지듯이 뭔가 딱딱한 느낌이 있죠. 실제로 다른 입문서에 비해서는 문체가 조금 딱딱해서 가독성이 떨어진다는 평도 있는 책이라 완전 초보자에게 권하고 싶지는 않습니다.


하지만 정석이라는 이름에 걸맞게 담고 있는 내용은 매우 충실하며, 특히 Java라는 언어의 특징인 객체지향과 제네릭, 어노테이션 등을 다른 서적에 비해 심도 있게 다루고 있습니다. 그래서 이 책은 프로그래밍 겸험이 거의 없는 완전 초보자보다는 다른 언어를 어느 정도 다룬 경험이 있거나 자바를 공부해봤으나 기초를 다시 잡고 싶다 생각하신 분께는 엄청난 도움이 될 거라 생각합니다.


그리고 이 책 역시 무료 인터넷 강의를 제공하고, 저자가 직접 운영하는 카페에서 질문을 할 수 있습니다. 강의는 직접 안 들어봐서 잘 모르겠네요.


[네이버 책] 자바의 신 - 이상민


세 번째로 이상민 저자의 자바의 신입니다. 이름 한 번 거창합니다. 자바의 신이라니.. 이 책은 구성이 약간 특이합니다(우선 이것이 자바다와 같이 Part 1, 2로 분권이 돼 있습니다). 담고 있는 내용 자체는 다른 입문서와 크게 다르지 않는데 일반적으로 다른 입문서들은 처음에 자바를 설치하는 방법을 가르쳐 주고 "Hello World!" 같은 간단한 문장을 출력하는 프로그램을 만든 후, 그 프로그램을 조금씩 변형하거나 내용을 추가하면서 설명은 이어나가는데 이 책은 1장부터 클래스와 객체의 개념을 소개합니다. 많이 색다른 특징이라 볼 수 있죠.


그리고 전체적인 내용도 입문자를 많이 배려한 노력이 티가 납니다. 모든 내용을 알면 좋긴 하지만 실제로 별로 쓸 일이 없는 기초 문법들도 많은데 입문자 입장에서 이를 다 외우기도 힘들고, 어떤 게 중요한지 아닌지를 구별할 능력이 없습니다. 그런데 이 책은 그 중요도를 구별해서 설명하기 때문에 공부할 우선순위를 정할 수 있습니다. 또한 "생각해봅시다"와 같은 코너나 적절한 난이도의 연습문제 등 입문자를 많이 생각하고 만든 거 같습니다.


[네이버 책] 윤성우의 열혈 Java 프로그래밍 - 윤성우


네 번째로 가장 최근에 나온 윤성우 저자의 윤성우의 열혈 Java 프로그래밍입니다(책 이름에 저자의 이름이 들어가 있어서 좀 이상하네요). 윤성우 저자의 열혈 시리즈는 아마 모르시는 분이 없을 거라 생각합니다(열혈 C 프로그래밍이 워낙 유명하니깐요).


저자에게 직접 물어본 바에 의하면 예전 "난 정말 C Programming을 공부한 적이 없다구요"라는 책의 개정판이라고 볼 수 있으면서도 성격이 다르다고 하는데 그 이유는 해당 책의 특징이었던 단계별 프로젝트를 뺏고, 변수의 자료형이나 연산자 같은 매우 기초적인 내용은 비슷하나 자바 7, 8의 내용을 담으려고 하다 보니 내용이 반 이상이 바꼈기 때문이라고 합니다.


이 책의 특징은 저자의 다른 책을 읽어보신 분은 알겠지만 워낙 필력이 엄청나신 분이라 이렇게 쉽게 설명했는데도 이해를 못하면 도대체 누가 이해시키겠는가 할 정도로 쉬운 설명과 내시는 책마다 항상 무료 인터넷 강의를 제공하셨는데 이 책 역시 제공한다고 합니다. 출간된 지 얼마 되지 않아 8월 9일 현재 카페에서 Chapter 14까지 제공하고 있습니다. 조만간 다 올라올 거 같네요.


생활코딩! 자바 프로그래밍 입문 - 이고잉


마지막으로 추천할 책은 바로 페이스북 유명 코딩 그룹인 생활코딩을 운영하시는 이고잉님께서 써내신 생활코딩! 자바 프로그래밍 입문입니다. 이 책을 마지막에 따로 분류한 이유는 앞의 소개한 입문서들과는 성격이 약간 달라서인데요. 생활코딩이라는 그룹을 아시는 분은 다 아시겠지만 이고잉님께서는 생활코딩이라는 사이트에서 무료로 코딩 강의를 제공하고 있으며 이 책의 강의 역시 해당 사이트에서 무료로 수강이 가능합니다.


또한 저자인 이고잉님께서 스스로 밝혔듯이 위에 4권의 책의 저자들에 비해 자바에 대한 숙련도가 낮기 때문에 전문성은 조금 떨어질 수 있습니다. 실제 책의 두께도 위의 4권에 비해서는 확실히 얇고, 초보자에게 어려울 수도 있는 내용은 과감히 빼버렸습니다. 단, 그만큼 초보자의 입장을 잘 이해하시는 분이기 때문에 초보자에게 어려울 수 있는 부분을 매우 쉽고 자세하게 설명했고, 강의를 들어보신 분은 아시겠지만 강의를 정말 재밌게 찍는 분이라 강의와 함께 책을 읽어나간다면 시너지가 어마어마 할 거라 생각합니다.


정리하자면 이 책은 다른 언어를 어느 정도 다를 줄 알거나 자바를 한 번 공부해본 경험이 있으면 내용이 부실하다고 느껴질 수도 있는 책입니다. 그런 분께는 권해드리지 않고 위의 4권을 읽기엔 부담스럽고, 약간 가볍게 자바 공부를 시작하고 싶으신 분이 계시다면 꼭 추천해 드리고 싶은 그런 책입니다

댓글