본문 바로가기
리뷰/도서

[Java 9 모듈 프로그래밍] 자바 모듈 프로그래밍으로 재사용 가능하고 관리하기 쉬운 코드 작성하기

by Remover 2018. 5. 22.
반응형

<이 책의 리뷰는 한빛미디어 '나는 리뷰어다'로 부터 책을 지원받아 작성된 글입니다.>





책소개

유지 보수 가능한 응용 프로그램 개발을 위한 자바 모듈 프로그래밍

자바 9에서 모듈화의 도입은 엄청난 사건입니다. 자바 9에 포함된 다른 선택적인 요소와 달리 자바 플랫폼 모듈 시스템은 자바 코드의 설계와 구현에서 근본적인 변화를 의미합니다. 
이 책은 단계별 접근법으로 새로운 모듈을 생성해보고 레거시 코드에서 자바 9 모듈 시스템으로 옮겨가는 방법을 다룹니다. 완전히 모듈화된 예제 코드로 새로운 기능들을 직접 실습해볼 수 있습니다. 모듈 정의를 생성하고 모듈 간 의존성을 설정하고 모듈화된 JDK에서 제공하는 내장 모듈들을 활용해볼 수 있습니다. 또한, 모듈 해석에 대해 배우고 jlink 명령으로 사용자 정의 런타임 이미지를 생성합니다.
한 단계 더 나아가 새로운 모듈 응용 프로그램을 작성하는 모범 사례를 배웁니다. 또한, 기존 자바 코드베이스를 자바 9로 업그레이드하고 라이브러리 코드 작성 시 발생할 수 있는 문제들과 자바 9 응용 프로그램을 테스트하는 방법을 알아봅니다.

-모듈과 모듈 프로그래밍 개념 소개
-자바 9 모듈 빌드 및 구성
-모듈 사용과 모듈 간 종속성 설정
-캡슐화와 가독성, 접근성 원칙 이해 및 사용
-jlink로 완전히 로드된 사용자 정의 런타임 이미지 생성
-모듈을 작성하는 데 유용한 모범 사례 
-새로운 자바 9 모듈 시스템으로의 마이그레이션

[인터넷 교보문고 제공]자세한 내용 : Link

목차


Java 9 모듈 프로그래밍, 자바 모듈 프로그래밍으로 재사용 가능하고 관리하기 쉬운 코드 작성하기




5월 나는 리뷰어다 이벤트로 리뷰하게 된 Java 9 모듈 프로그래밍입니다.

리뷰를 시작하기에 앞서 현재 자바의 최신 버전은 10입니다! 

책이 번역되고 출판되는 동안 벌써 버전이 바뀌었네요. 빠르게 변화하다보니 항상 빠르게 적응해야 하는게 일이 되어버렸네요.


잘 보이지는 않지만, 모듈 프로그래밍을 해야하는 이유는 JAR 파일을 활용하여 개발하는 방식의 한계점이 있기 때문에

그 부분을 개선하기 위해서라고 이해하시면 될 것 같네요.




평소 자바로 프로젝트를 진행할 때 대부분의 개발자가 다음과 같은 방식으로 개발을 진행합니다. 물론 제가 진행하는 프로젝트 또한 

사진과 같은 형태로 되어 있습니다. 자바 9에서는 이런 부분에 약간의 수정이 이루어졌습니다.



모듈 프로그래밍이라는 개념이 도입되면서 조금 더 세분해되었습니다. 재사용성을 높이는 방법 중에 하나는 세분화 시키는 방법이기 때문에

사진과 같은 형태로 된게 아닌가 라는 고민을 하게 되었습니다.

모듈을 다루면서 의존성에 대한 개념도 다루게 됩니다. 의존도가 높으면 재사용 하기 어렵고, 그만큼 코드 리팩토링도 힘들어지기 때문이죠.

의존성이 높은 .java 파일끼리 모아놓고 사용하는 모듈을 이용해서 프로그램을 작성하는 방식이 주로 나옵니다.



제가 느끼기에 책을 읽으면서 가장 중요한 부분이라고 생각하는 곳은 5장 가독성과 접근성이라고 생각했습니다.

가독성이 중요한 이유는 혼자만 알아볼 수 있는 코드를 작성하게 되면 팀 프로젝트를 진행할 때 그만큼 따르는 문제도 크고

유지보수에서의 문제도 크기 때문에 중요하게 봐야할 곳인데 설명이 조금 짧은게 아닌가 싶어요.

주로 사용되는 변수 명명법이나 함수 명명법은 프로젝트 마다 다르고 또한 인터넷을 조사해보면 많으니 검색해보시는 것도

좋을 것 같네요. 



모듈 사용이 어느정도 익숙해지면 설계에 대한 내용이 나옵니다. 사실 모듈을 먼저 설계하고 나서 기능을 설계하는게 더욱 쉬운 작업 일 수 있는데 어려운 내용이다 보니 뒤로 빼서 작성한게 아닌가 생각이 듭니다.


책을 읽어도 좋을 것 같지만, 지금 진행하는 프로젝트 방식으로 충분히 세분화해서 만들면

굳이 모듈 프로그래밍을 하지 않아도 사용할 수 있다는 생각이 듭니다. 오히려 모듈 프로그래밍을 하게 되면 여러사람이 

방식을 알아야 하는 등 다양한 문제가 발생할 수 있을 것 같네요.

모듈 프로그래밍에 대해 궁금하신 분들께 이 책으로 개념을 잡아보는 것을 추천드리지만,

비슷한 내용들이 인터넷에 많이 나와 있기 때문에 그런 점을 감안하고 보셔야 할 것 같네요.


[ 마무리 ]


현재 자바 버전은 10이지만 모듈 프로그래밍에 대한 개념을 익힐 수 있는 책.


디자인    ★★★☆☆

내용       ★★★☆☆ 

난이도    ★★★☆☆ 


댓글