Javaのパッケージ名の命名規則には、読みやすさ・衝突回避・管理しやすさを目的とした明確なルールと慣習があります。以下に、公式なルールと実用的なベストプラクティスをまとめます。
Contents
✅ 基本ルール(Javaの公式ガイドラインより)
1. すべて小文字
-
パッケージ名は すべて小文字 を使用します。
理由:クラス名との区別を明確にするため。
2. ドメイン逆順をプレフィックスに使う
-
自社のドメイン名を逆順にして先頭に付けることで、他社と名前が衝突しないようにします。
例:
所有ドメイン | 推奨パッケージ名例 |
---|---|
example.com |
com.example.myapp.utils |
openai.com |
com.openai.gpt.chat |
3. 英語を使う(推奨)
-
国際的な可読性のため、パッケージ名は英語で記述するのが一般的。
4. 意味のある階層にする
-
大きなプロジェクトでは用途別にサブパッケージを分けて整理します。
5. 予約語・記号・大文字は使わない
-
❌
package my-App;
(ハイフンNG) -
❌
package MyApp;
(大文字NG) -
❌
package int;
(予約語NG)
✅ 命名例まとめ
パッケージ構成 | 用途 |
---|---|
com.companyname.app |
メインアプリ |
com.companyname.app.model |
データ構造、DTOなど |
com.companyname.app.service |
ビジネスロジック |
com.companyname.app.util |
汎用クラス、ユーティリティ |
✅ 補足:実際の記述例
✅ まとめ(命名のポイント)
規則・慣習 | 理由 |
---|---|
小文字のみ | クラス名との混同防止 |
ドメイン名を逆順に使用 | 名前衝突の回避 |
英語を使う | 国際標準での可読性 |
意味のある階層構成 | 保守性・可読性の向上 |

Javaの記事の一覧はJava にまとめてあります