最近はサーバで動かすプログラムも書けるほど、活躍の場を広げていますよね。ブラウザで動かすスクリプト言語でしたが。いうことをまず覚えておきます。これはとても重要なことです。いう機構が備わっています。いうファイルがあったとします。コードを書いてしまいました...許してください。いう名前空間が宣言してあります。いう意味に見て取れるようになります。クラスは名前空間として宣言されているため、コンパイルすると、当然2つのクラスは同じ名前空間に属することになります。フルネームで表すと、つぎのようになります。名前空間があったとします。ような分類になります。}}のように書くことができます。くんは、駆け出しのプログラマです。ある日彼は、ネットでこんなプログラムを見つけました。i);}彼はこのプログラムを気に入りました。にらめっこしたのに、こんな発想は思いもよらなかった!引数で指定した数を上限に、ランダムな整数が関数1つで帰ってくるなんて!そうだ、このプログラムを使って、面白いことをしよう。彼はすぐさま行動に移しました。"!!!");};</script>これは、ホームページを訪れた人みんなが楽しくなるだろう!彼はハイテンションで実際のホームページにアップロードしました。ブラウザで彼のページを開くや否や、ダイアログが表示されました。彼は飛び上がらんばかりの喜びを感じました。そのダイアログを閉じると表情は一変。動かず、ただ単色の背景が表示されてしまったのです。動かなくなったのだろう?さっきまでは動いていたのに。調べていくと、どうやら彼は大きな過ちを犯していたようです。いう外部ファイルを参照していました。これには次のような関数が書かれていたのです。彼はその関数を上書きしてしまいました。引数を受け取らない関数を、引数を受け取る関数に書き換えてしまったのです!なんってこった!こんな罠に引っかかるなんて。彼はイライラしながら、自分の関数を書き換えていきました。大げさに書いてはみたものの、実際に起こりうる話です。大きなウェブアプリになってくると、同じような名前の関数がいくつも出来上がり、まれにファイルをまたいで名前が衝突してしまうことがあります。したことを起きにくくする、という観点のもと、関数を階層構造にまとめる仕組みが出来上がりました。