# Question09 - 名前空間 本資料の練習問題は、複数のプログラミング言語(Java / C# / PHP / Python)で共通して利用できるよう記述されています。静的型付け・動的型付けの違いや文字列の連結ルールなど、言語固有の文法仕様に基づき、問題文の表現をご使用の言語の仕様に適宜読み替えて進めてください。 ## この問題のねらい - コードを整理するための名前空間(グループ分けの仕組み。)を作成し、その中にクラスを配置できること - 同じ名前空間に属するクラスの処理を、名前空間の指定なしで呼び出せること - 異なる名前空間に属するクラスの処理を、名前空間を含めた完全な呼び出し名で呼び出せること - 呼び出し時に名前空間の指定を省略できるようにする宣言を使って、異なる名前空間に属するクラスの処理を呼び出せること 以下の設問はそれぞれ独立したプログラムとして実装してください。ただし、設問2で作成するクラス・処理は設問3でも使用します。 --- ## 設問1 あなたが作成するプログラムと同じ名前空間の中に、次のクラスを作成してください。 - クラス名: `Util` - メソッド: `hello`(引数なし、戻り値なし) - 処理: 画面に `こんにちは` と出力する その上で、このプログラムから、作成した `Util` クラスの `hello` メソッドを呼び出してください。同じ名前空間に属しているため、名前空間の指定なしで呼び出せます。 - 出力: `こんにちは` --- ## 設問2 次の要件を満たすクラスを用意してください。 1. `common` という名前の名前空間を新しく作成する 2. その `common` 名前空間の中に、`Util` という名前のクラスを作成する(設問1の `Util` クラスとは異なる名前空間に属する、別のクラスです) 3. 作成した `Util` クラスに、次の仕様を満たすメソッド `showSum` を作成する - メソッド名: `showSum` - 戻り値: なし - 引数: 整数 `num1`、整数 `num2` - 処理: `num1` と `num2` の合計値を画面に出力する その上で、このプログラムから、作成した `showSum` メソッドを、名前空間を含めた完全な呼び出し名を使って呼び出してください。引数には任意の整数を2つ与えてください。 - 期待される結果: 与えた2つの整数の合計値が画面に出力される --- ## 設問3 設問2で作成した、`common` 名前空間に属する `Util` クラスの `showSum` メソッドを使用します。 このプログラムから、`showSum` メソッドを呼び出してください。その際、呼び出しのたびに名前空間を含めた完全な名前を書くのではなく、あらかじめ名前空間の指定を省略できるようにする宣言(importに相当する仕組み)を行ったうえで、省略した名前で呼び出してください。引数には任意の整数を2つ与えてください。 - 期待される結果: 与えた2つの整数の合計値が画面に出力される