名前空間
名前が重複しちゃダメな範囲だよ
具体的な中身はプログラミング言語とかによって違うよ
簡単に書くよ
名前空間(読:ナマエクウカン 英:name space)とは
「ここからここまでの範囲内では同じ名前のやつは作れないからな!」な範囲のこと
です。
詳しく書くよ
サクっと一言で説明すると
名前が重複しちゃダメな範囲
が「名前空間」です。
「ネームスペース」と表現されることも あります。
例えば、そうですね。
ここにピヨ太エリアがあります。
ピヨ子エリアもあります。
ピヨ太君がピヨ太エリアの中に「ケーキA」という名前のケーキを置きました。
ピヨ子エリアの中にも「ケーキA」という名前のケーキを置きました。
おやおや?
同じ名前のケーキが2つありますね。
この2つは区別できるのでしょうか?
もちろん区別できます。
「ピヨ太エリアの中にあるケーキA」と「ピヨ子エリアの中にあるケーキA」と表現できるからです。
ピヨ太エリアの中にあるケーキをピヨ子さんにプレゼントするのであれば「ピヨ太エリアの中にあるケーキAをあげるよ」と伝えれば良いのです。
話は続きます。
ピヨ太君は次に、ピヨ太エリアの中に「ケーキB」という名前のケーキを置きました。
さらに、もう1個ピヨ太エリアの中に「ケーキB」という名前のケーキを置きました。
今度は、どうでしょう。
この2つは区別できるでしょうか?
そうですね。
区別できません。
ピヨ子さんに「ピヨ太エリアの中にあるケーキBをあげるよ」と伝えたら、おそらく両方とも持っていかれるでしょう。
ここまでを整理してみましょう。
エリアが違えば、同じ名前の物を置いても困りませんでした。
「ピヨ太エリアのケーキA」や「ピヨ子エリアのケーキA」のように表現することで区別できるからです。
同じエリアだと、同じ名前の物を置くと困ったことになります。
どちらも「ピヨ太エリアのケーキB」のようにしか表現できないからです。
区別できません。
つまり
1.エリアが違えば同じ名前の物を置ける
2.エリアが同じだと同じ名前の物を置けない
わけです。
この話における「ピヨ太エリア」「ピヨ子エリア」(を用意する仕組み)が名前空間です。
「この中に同じ名前の物があると区別できないから同じ名前の物を置かないでね」な範囲
です。
……というのが基本的な考え方です。
実際の細かい仕組みはプログラミング言語によって違ったり、あーだこーだですけどね。
そこら辺の あれやこれやは他のところで勉強してください。
一言でまとめるよ
まぁ「名前空間」って単語が出てきたら「名前が重複しちゃダメな範囲なんだな~」と お考えください。






