【なまえくうかん】
名前空間 とは?
最終更新:
💡 名前の「住所」をつけて衝突を防ぐ仕組み
変数・関数・型などの名前を、どのまとまりに属するかと合わせて区別する仕組み。同じ短い名前を別の名前空間で使えるようにし、ライブラリなどとの名前の衝突を避ける。参照の書き方やルールは言語ごとに異なる。
📌 このページのポイント
名前空間ってなぜ必要なの?
二つのライブラリがどちらもUserという型を定義したとしよう。所属も付けてapp.Userとapi.Userのように参照すれば、どちらかを区別できる。同じ田中さんでも部署を添えて呼ぶのに似ているね。名前だけを同じ場所へ持ち込むと、衝突や上書きの原因になり得るよ。
プログラミング言語ではどう書くの?
名前空間で気をつけることってある?
Pythonのfrom app import Userは、Userという名前を読み込み先の名前空間へ追加するよ。from app import *では公開対象の名前をまとめて追加するので、既存の名前を隠すことがある。名前空間を無視するのではなく、名前の持ち込み方が違うんだ。必要な名前や別名を明示すると分かりやすいね。
Kubernetesでも名前空間って使うの?
まとめ:ざっくりこれだけ覚えればOK!
「名前空間」って出てきたら「名前の衝突を防ぐためにグループ分けする仕組みだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「namespace」 = 名前の空間
💬 同じ「田中さん」でも「営業部の田中さん」と「開発部の田中さん」を区別するのと同じ発想だよ