アプリ版:「スタンプのみでお礼する」機能のリリースについて

先輩にJavaを教えてもらったとき、パッケージによって分けられている
クラスの名前の集まりを「名前空間」と呼ぶ、って
習ったんですが、調べようとしてもなかなか参考になる
サイトがありません。

XMLやC言語だと検索ヒットしますが、なんだか意味が違う…
しかもXML、C言語ともに意味が違うような気がします。

Javaも独自の意味を持ってるのかな?
教わった内容自体は正しいのでしょうか?

A 回答 (1件)

名前空間って、不思議な言葉ですよね。


インターネットでも使われている言葉ですが、
全部同じことを差していると思うので、
概念として説明してみます。

簡単に言うと、ある特定の一つの名称が、一つの事柄を指す
領域のことをいいます。

例えば、「本町」という地名があったとします。
これは「町村」という名前空間における名称です。
その上位の「市・区・郡」という名前空間における名称「朝日市」を
付け加えて、「朝日市本町」とします。
さらに上位の「都道府県」という名前空間における名称「東京都」を
加え、「東京都朝日市本町」とし、同様に「日本国」を加えると、
「日本国東京都朝日市本町」となって、全世界においても、この名称は
ただ一つの町を指すことになります。

オブジェクト指向の特徴を生かしたり、インターネットで特定のURLを
ある規則性に基づいて名付けたりするときには、その「モノ」が、どこに
所属しているのかを示すため、
また、その所属内でその名前を使うと、その「モノ」が必ず特定できるように
するために、こうした階層的な名前の付け方をするわけです。

こんな感じで参考になりますでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。わかりやすかったです。
なるほど、本町って住所は日本中にありますものね。
それを一意に表すために所属名を付けるってことですね。

考え方はわかりました。そして
自分なりにもちょっと調べてみました。
Javaではパッケージ単位でクラスが分けられて
いるので、そのパッケージ名をドメイン名を使って世界一意
の名前にしています。

Cなどはパッケージの概念がないため、おそらくURLを
使ってクラス名を切り分け、世界一意の名前空間にしてるのかな??
CやXMLの経験がないので断定できませんが。
それで他の言語の名前空間を調べると、Javaとは全然違う気がして
意味不明でした。
でも結局目的は一緒だったということがわかって
すっきりしました。

どうもありがとうございました。

お礼日時:2003/03/12 09:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!