본문 바로가기

책을 보다

[리뷰] 실력 좋은 선배 같은 <실전 자바 소프트웨어 개발>

실무에서 자바로 소프트웨어를 만들 때, 어떻게 만드는지 그리고, 디자인 패턴과 SOLID 원칙이 왜 필요하고, 어떻게 적용하는지 보여줍니다.

자바로 단순하게 코딩하는 수준이 아니라
자바를 이용하여 소프트웨어를 어떻게 개발하는지 보여줍니다.

말하자면, 덧셈과 곱셈 알고 단순 계산을 열심히 반복하는 수준에서 벗어나 연산의 원리를 이해하고 활용하는, 지금까지 알던 것과 다른 시야를 만나게 해 준다고 할까요.


1에서 10까지 더하는 문제로 비유해 보겠습니다.
처음에는 단순 덧셈을 떠올립니다.
덧셈을 10번하면 되니 큰 문제는 아닙니다.
하지만, 이런 상황은 곧 어려움에 부딪칠 수밖에 없습니다.
요구 사항은 바뀌니까요.

단순한 해결에서 한걸음 나아가
 1,  2, 3, …, 9, 10
10, 9, 8, …, 2,   1
와 같은 아이디어를 통해 11이 10번 반복하는 규칙을 보여 줍니다.
이를 통해 (1 + 10) * 10하여 둘로 나누어 결과를 얻습니다.
((1 + n) * n) / 2
고정된 숫자보다 좀 더 활용할 수 있는 방법을 보여줍니다.

여기까지 시야가 트이면 굳이 1부터 시작하지 않더라도 연속된 숫자의 합이라면 비슷한 형태로 구할 수 있겠다는데 생각이 다다릅니다.
m부터 시작하여 n까지 연속하는 숫자의 합을 계산하고자 합니다.
((m + n) * (n - m + 1)) / 2

이로써, 0보다 크고 연속되어 있는 숫자들을 모두 더할 때 사용할 수 있는 패턴을 보여줍니다.
물론, 0이나 음수가 있으면 다른 얘기가 되니 생각을 달리해야 합니다만.


디자인 패턴, SOLID 원칙
워낙 많이 언급되는 용어들이라 뭘 얘기하는 건지 대충 알긴 아는데, 실제로 언제, 어디에, 어떻게 적용해야 하는지 막막한 경우가 많습니다.

이 책을 통해 막막함을 걷어내기 시작할 수 있으리라 생각합니다.
프로젝트 단위로 각 장을 구성하고 있습니다.
각 프로젝트에서 얻고자 하는 목표가 분명합니다.

실력 좋은 선배가 같이 프로젝트하며 옆에서 차근차근 일러주고, 조목조목 알려주며 개발에 눈을 뜨게 해주는 것 같습니다.
다만, 방향을 알려주지만 도달하는 건 각자의 몫이라는 걸 잊으시면 안 됩니다.


소프트웨어
빠르고 안정적인 개발과 쉬운 유지보수라는 개념을 다시 생각해 보게 합니다.

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

반응형