Javaのモジュールシステムの理解が深まったのでメモ。 Java初心者のラフなメモ書き。 【1】モジュールシステムはなぜJavaで必要なのか? 異なるJarであっても、同一パッケージ名が衝突する問題があった。 モジュールは、パッケージを区別するための仕組み。 パッケージはクラスを包み込み、モジュールはパッケージを包み込む。 Javaはオブジェクト指向言語なので、機能追加したい場合、開放閉鎖原則に従って、既存クラスは修正せず新規クラスを追加する。 Rubyのオープンクラスみたいなもの。 すると、クラスがどんどん増えるので、パッケージでクラスを分類しようとする。 そして、パッケージをまとめたJarを配布して、開発者に利用してもらうようにする。 しかし、Jarファイルもどんどん増えてしまって、異なるJarなのに同一パッケージで衝突する場合がある。 Mavenでこういう依存ライブラリのJarを管理
![プログラマの思索](https://cdn-ak-scissors.b.st-hatena.com/image/square/f5023cc76aa5502e2a40df5cca5d9a093c69f2db/height=288;version=1;width=512/https%3A%2F%2Fforza.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)