ライブラリとパッケージとは?
ライブラリとパッケージに関して、自分なりに整理。
ライブラリとは?
これまでの問題を解決したり、日頃プログラマが直面していた、繰り返し使えるプログラムを集めたもの。
例えばどんなライブラリがあるの?
例としては下記のようなものがある。
- Java standard libraries
- Maven
- Apache Commons
パッケージとは?
ライブラリで集めたプログラムを、似た機能ごとにあつめたもの。
例えばどんなパッケージがあるの?
例えばJAVA言語だったら下記のようなパッケージがある
java.lang — 基本言語機能性と基本型basic language functionality and fundamental types java.util — コレクションデータ構造クラス java.io — 入出力操作 java.math — 多倍長演算 java.nio — JavaによるNew I/Oフレームワーク java.net — ネットワーク命令、ソケット、DNSルックアップ… java.security — 暗号鍵生成、暗号化、復号 java.sql — データベースにアクセスするためのJava Database Connectivity (JDBC) java.awt — ネイティブGUIコンポーネントのパッケージの基本階層 javax.swing — プラットフォーム非依存リッチGUIコンポーネントのパッケージ階層
— https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8_(Java)
ライブラリとパッケージの違いは何?
パッケージはライブラリの一部と考えるとよい、図にして整理してみた。
今回は、Java Standard Librariesを例にとってみる。

なぜわざわざパッケージを作るの?
システムを作る際、ある程度同じ機能をつけることはよくある。そんな時に、また1からその機能のプログラムを書き直すのは非効率。なので一回作った機能は貯めておいて、他のエンジニアが効率的に作れるようにする役目を持つのがパッケージ。
全体像を把握する
下記にJavaやwebアプリケーションについての記事をまとめた。
[st-card myclass="" id=3431 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]
コンピューターについての全体像も把握しておくと、プログラミングのさらなる理解に役立つ。
[st-card myclass="" id=4587 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]