1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javaの名前空間(Namespace)とは?

Last updated at Posted at 2025-06-28

名前空間とは?

名前空間とは、クラス名やメソッド名などに一意性を与えるための仕組みです。多くの人が関わるプロジェクトでは、同じ名前のクラスや変数が生まれる可能性が高いため、スコープを分けて管理することが重要になります。

Javaにおける名前空間の種類

名前空間の種類 対象
パッケージ空間 クラス、インターフェース
クラス空間 メソッド、フィールド、内部クラス
メソッド空間 ローカル変数、引数

パッケージと名前空間

Javaでは**名前空間=パッケージ(package)**によって実現されます。

package com.example.utils; //パッケージ名(フォルダのようなもの)、クラスをグループ化する名前空間

public class MathUtil {  //クラス名。実際に機能(addメソッドなど)を提供するコードの本体
    public static int add(int a, int b) {
    return a + b;
    }
}

このように、Javaではクラスの冒頭で package 文を使って「パッケージ(名前空間)」を定義することができ、com.example.utils という名前空間の中に MathUtil クラスがあると明示されます。構造のイメージは下記のようになります。

com             最上位のパッケージ
└── example      サブパッケージ
    └── utils    サブパッケージ
         └── MathUtil.java  この中にMathUtilクラスが定義されている

Javaにおける**名前空間(Namespace)**の目的は、主に以下の2つです:

 1.前の衝突を避ける(識別のため)
たとえば、異なる開発者が**同じ名前のクラス(例:Utils)**を作った場合でも、パッケージ名で区別すれば衝突しません。

com.companyA.utils.Utils
com.companyB.utils.Utils

➡ これで 同じUtilsという名前でも共存可能になります。

 2. コードの整理・管理がしやすくなる
クラスを機能ごとにパッケージに分類できるので、大規模なプロジェクトでも見通しよく管理できます。

com.example.model       データ構造Model関連のクラス
com.example.service     ビジネスロジック関連のクラス
com.example.controller  外部とのインターフェース

完全修飾名

Javaでは、同じ名前のクラスでも異なるパッケージに属していれば共存可能です:

com.example.utils.MathUtil
com.example.common.MathUtil

インポートせずに使う場合、以下のように完全修飾名で指定することもできます:

com.example.utils.MathUtil.add(1, 2);

名前の衝突とその回避方法

import java.util.Date;
import java.sql.Date;  // エラーになる

Date date = new Date();  // どっちのDate?

このように、異なるパッケージに同じクラス名が存在する場合はインポート時に注意が必要です。
このような場合には、完全修飾名で使い分けることが推奨されます:

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());

まとめ

・名前空間は、同じ名前の要素が衝突しないようにする仕組みです
・Javaでは主にパッケージが名前空間として機能されます
・名前が衝突する場合は完全修飾名で使い分け可能です

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?