名前空間 【namespace】 ネームスペース / NS

概要

名前空間(namespace)とは、各要素に一意の異なる名前をつけなければ識別できない範囲のこと。また、名前の集合全体を小さな空間に区切り、それぞれに異なる識別名を与えることで、その空間内では他の空間に含まれる名前の競合・衝突を意識しなくて良いようにしたもの。

例えば、「中央区」という行政区名は全国のいくつかの自治体に存在し、それだけではどこを指すのか分からないが、「東京都中央区」「大阪市中央区」と表記すればそれぞれを識別することができる。この「東京都」や「大阪市」が「中央区」に対する名前空間の役割を果たしている。

自治体や住所のように階層的な名前空間によって全体が区切られていれば、大阪市に文脈が限られている場合は「大阪府大阪市中央区」とすべて書き下さなくても「中央区」のみでこれを指し示すことができ、東京の中央区を示したければ「東京都中央区」と名前空間を指定して対象を表すこともできる。

コンピュータ言語の名前空間

プログラミング言語マークアップ言語などでも、要素の名前が衝突しても識別できるように、名前の集合に識別名を与えて外部から仕切ったものを名前空間という。

例えば、複数のクラスモジュールライブラリなどで、ほとんど同じような機能や作用、役割だが、効果を及ぼす範囲や対象が異なるような要素(変数関数メソッドなど)が登場することがよくある。

その際、要素自体の名前としていちいち対象や範囲などまで含めた命名をい、全体に対して一意に識別できるようするのは非効率であり、また、互いに無関係な複数の開発主体のコードが混在するような場合では競合を避けることはほとんど不可能である。

このような場合に名前空間を導入すれば、同じ集団に属する要素は短い名前で互いを識別でき、かつ、外部からは名前空間の識別名によって要素全体を他と区別することができる。個々の要素名が他の空間の似た要素と衝突していても容易に識別・指名することができる。

(2020.3.11更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる