본문 바로가기
:: Notes/Books

[Book] 실습으로 익히는 JAVA [알쏭달쏭 자바 200제]

by 메모밍 2019. 6. 28.

 

 프로젝트를 한창 진행하고 나면 해당 프로젝트에 쓰이는 Tool 만 사용 하다보니, 시간을 들여 이리저리 익혀 두었던 다른 언어들을 조금씩 잊기 마련이다. 특히 문법적인 부분과 테크니컬한 구현 부분에서 종종 Google의 힘을 빌리곤 한다. 최근에 Python과 관련된 프로젝트들을 위주로 하다보니 JAVA를 손에서 놓은지 조금 된 느낌이었는데 아니나 다를까 오랜만에 알고리즘 문제를 JAVA로 구현하려 하니 알고리즘에서 막히는것이 아닌 문법적인 부분에서 멈춰 있는 손가락이 애석 하기만 했다. 이럴때 시중에 있는 JAVA 입문서를 보는것은 시간적으로 너무 큰 낭비다. 물론 JAVA를 처음 접한다면 입문서를 사서 정독 하는 것을 기꺼이 추천 하겠지만 그렇지 않다면 간단히 큼직한 기능별로 실제 코딩을 하며 감각을 되살릴 수 있는 서적이 알맞다. 

 

 

" 자바 책을 접할 때마다 느꼈던 아쉬움은, 입문서는 너무 간단하고 중/고급자용 서적은 너무 어렵다는 점이었다. 자바는 그 내용이 방대해서 자칫 잘못하면 프로그래밍 입문서가 되어 자바 자체에 대해선 소홀하거나 반대로 자바에만 치우쳐서 프로그래밍의 핵심 사항은 놓치는 경우가 있다. "

 

 글쓴이는 위과 같은 말로 책을 시작하는데 십분 공감 되는 말이다. 입문서적은 말그대로 프로그래밍에 입문하는 사람들을 대상으로 하다보니 JAVA에 집중 하는 것이 아닌 프로그래밍에 대한 입문서를 JAVA로 풀어 놓은 느낌을 지울 수 없다. 더해서 실제 프로그래밍으로 문제를 해결할 때 JAVA를 이용하려고 하면 머리속에서 다시 기초 개념을 응용 개념으로 바꾸는 과정을 거쳐야 한다. [알쏭달쏭 자바 200제] 는 이러한 부분을 실제 프로그래밍 문제를 풀고 구현하면서 점진적으로 JAVA를 익힐 수 있도록 하면서 이 문제를 해결 했다. 

 

 

 

 

 책의 전체적인 목차는 위와 같다. JAVA에서 짚고 넘어가야할 큼직한 부분들을 각 장으로 묶은 형태로 이루어져 있으며 해당 장들에서는 그에 맞는 문법을 사용해야 하는 여러 기본 문제들과 실전 문제들로 이루어져 있다. 모든 문제에 대한 글쓴이의 친절한 해설은 구현하다 막힐 경우 참고 하거나 자신이 짜놓은 코드와 어떤점이 다른지 비교해 볼 수 있는 좋은 레퍼런스가 될 것이다.

 

 

 기존의 JAVA 입문 서적은 JAVA의 문법을 익히는데 중점을 두다보니 '프로그램 작성 문제'에 그치는 경우가 많다. 말 그대로 단순히 해당 문법을 사용해보기 위한 예제에 불과한 문제들인데 한번쯤 사용해 보는취지로는 적합하나, 후에 이를 응용해서 실제 프로그래밍 문제를 해결 하려고하면 막막한 경우가 생긴다. 이 같은 부분을 해결 하기위해 '실전 문제'를 포함하여 입문자와 중급자들을 위한 포지션을 고루 갖췄다.

 


 

 이 책에서 말하고 있는 '프로그래밍 작성문제' 즉 기본 문제에 대한 부분은 아래와 같이 구성 되어있다. 해당 하는 장의 주제에 대해 적게는 16문제부터 많게는 21문제까지 수록해 주제에 해당하는 문법들을 모두 담을 수 있도록 노력한 부분이 보인다.

 

 

 

 간단히 포함 되어 있는 문제를 살펴보면 해당 챕터는 2챕터로 변수 사용에 대한 챕터중 5번째 기본 문제이다. JAVA를 처음 사용 하다보면 사용자의 input을 받는 것에 익숙치 않은 경우가 많다. 해당 문제에서는 a,b,c 세단계로 나누어 해당 문제의 큰 흐름을 주석으로 설명 한뒤 이해하기 쉬운 간략한 코드로 풀이를 함과 동시에 이 문제에서 설명하고자 하는 내용들을 아래에 적어 두었다.

 

 

 해당 문제에서 설명하고자 하는 바에대해 간략이 적혀 있는 부분으로 부가 설명없이 간결하게 한 번에 한가지 문법을 설명하고 있다.

 


 다음 실전문제 파트는 JAVA와 프로그래밍 관련 용어에 대한 개념을 묻거나 빈칸을 채우는 형식의 문제로 구성 되어있다. 프로그램 작성 문제만이 아닌 응용 문제도 포함하고 있다.

 

 

 

 포함 되어 있는 실전 문제의 일부로 얕게 이해하고 넘어갈 수 있는 부분들을 잘 짚었다고 생각되는 부분이다. 더해서 아래 코드는 예제에서 작성했던 코드와 완전 동일 하지는 않지만 기본 개념을 잘 가지고 있다면 충분히 풀 수 있는 문제로 구성되어 있어 자신의 코드만 보게 하는것이 아닌 다른 사람이 짜놓은 코드를 보면서 한번 더 생각할 기회를 제공하고 있다.

 

 

 

 

 각 장의 끝에는 위와 같이 참고할 만한 개념들이 추가적으로 들어있는데, 놓치고 넘어 갈 부분들을 여러번 추가적으로 제공하여 알차게 구성 하려는 글쓴이의 의도가 느껴졌던 부분이다. 더해서 만약 정보처리기사를 준비하고 있거나 준비할 계획이 있다면 본 책이 필기와 실기 전반에 적용할 수 있는 좋은 기반을 형성해 줄 것이라는 생각이 든다.

 

 


마치며 ...

 

 본 포스팅에서 책의 전체부분을 소개 할 수 없는것이 안타까울만큼 알차게 구성 되어있는 책이라는 생각이 든다. 위에 예시로 든 챕터는 앞쪽 챕터다 보니 기본 문제와 실전 문제가 비교적 쉬운(?) 편에 속하지만 뒤쪽으로 넘어갈수록 프로그래밍을 전공한 전공자 조차도 고민을 해야 풀 수 있는 문제들이 수록 되어있다. 이런 개념이 있었지 ! 하며 다시한번 예전 기억을 되짚어 볼 수 있는 경험은 보너스 !

 

 문제를 풀면서 하나의 언어를 배우는 것은 언어 뿐만 아니라 프로그래밍 방법론까지 한꺼번에 익힐 수 있는 매우 좋은 학습 방법이라고 생각하는데 이 책에 수록되어 있는 여러 문제들을 통해 하나의 기본 개념으로 비슷한 문제를 반복해서 푸는 일련의 과정에서 기초 자바 지식을 활용한 프로그래밍의 기반을 형성 할 수 있을 것이라고 본다. 당신에게 붙어있는 JAVA 초급자 딱지를 멋지게 떼어줄 녀석으로 [알쏭달쏭 JAVA 200제]를 추천한다.

댓글0