koreakih***
2018-05-22

자바 9에서 모듈화의 도입은 엄청난 사건입니다. 자바 9에 포함된 다른 선택적인 요소와 달리 자바 플랫폼 모듈 시스템은 자바 코드의 설계와 구현에서 근본적인 변화를 의미합니다.
|
아직 많은 자바 프로젝트에서 jdk 1.8 로 넘어가지 못하고 있을 것 같다. 그만큼 1.8에 추가된 functional interface나 lambda의 개념은 기존의 프로그래밍 방식과 많이 다르다. 이런 시점에 java 9 이 릴리즈 된지도 벌써 반년이 넘었다. 자바9에서 추가되거나 개선된 기능은 여러가지 가 있지만 가장 큰 변화는 모듈화(Modularity) 일 것이다. OOP에 익숙한 자바 개발자 입장에서 1.8의 함수형 프로그래밍 개념 보다는 모듈 프로그래밍이 그나마 더 친숙하게 다가올 수 있을 것 같다. 하지만 모듈을 어떻게 만들고 어떻게 다뤄야 하는지 익숙해 지기는 쉽지 않아 보인다. 오히려 1.8로 넘어가는 것 보다 9가 자리잡는데 더 오랜 시간이 걸릴 수 도 있을 것 같다는 생각이 든다. 그래도 “Java 9 모듈프로그래밍” 책이 매우 좋은 가이드가 되어 줄 것 같다. 일단 번역서임에도 불구하고 번역의 느낌이 별로 없다. 책 전체를 보면서 한 두문장을 제외하고는 딱히 애매한 부분이 없었다. 용어도 영어를 알파벳 그대로 옮길지, 한국어로 표현할지, 번역해서 표현할 지 매우 잘 선택한 것 같다. 개발자가 익숙한 단어를 다르게 표현되는 경우에 읽다가 흐름이 끊기는 경우가 많은데, 아마도 역자가 개발을 꽤 오래 한 것 같다. 오탈자도 거의 없는 느낌이다. 눈에 띄게 발견한 것도 한단어 정도?
이 책이 전달하고자 하는 목적은 명확하다. “모듈이란 무엇이고 왜 사용해야 하는가.” 기존 코드에 어떤 문제가 있었는지, 그래서 모듈이 무엇이고 왜 필요한지, 모듈화를 위해 어떤 것들이 추가되었는지, 어떤 철학을 가지고 모듈화를 해야하는지, 기존 코드를 어떻게 마이그레이션 하는지 순으로 내용이 진행된다. 앞의 내용을 이해한 상태에서 다음 장으로 넘어가야 한다. 그래서 뒤로 갈 수록 조금씩 내용이 어려워 지는 느낌이다. 각 장에서 다루는 세부내용은 출판사 리뷰를 보면 좋을 것 같다. 당장 java 9를 사용할 계획이 없더라도 6,7장 정도까지는 부담없이 볼 수 있고, java9를 사용하지 않더라도 보면 좋은 내용들이 많다. 캡슐화에 대해서 많은 부분에서 다루고 있다. 다 보고나면 뭔가 배운 것 같은 느낌을 주는 책이다. 그냥 추가된 API를 훑는 것이 아니라, 저자의 경험과 철학을 조금은 담은 느낌이다. 단, 모듈 프로그래밍의 다양하고 상세한 예제를 보고 싶거나, Java9 의 새로운 기능을 전반적으로 알고 싶은 사람에게는 조금은 지루 할 수도 있다. |
|
|