問26 |
プログラム言語のもつリフレクション性に関する記述のうち、適切なものはどれか。 |
|
ア |
別のクラスや変数に型変換をすること。 |
イ |
プログラム実行中に、プログラム自身の情報を読み取ったり、書き換えたりできること。 |
ウ |
ループの中にループがあるのように、同じ構造が別の構造の内側に含まれていること。 |
エ |
関数や構造の中にそれ自身が含まれていること。 |
|
|
解説 |
プログラム言語のもつリフレクション性とは、プログラムが実行している最中にプログラム自身を書き換えることができる性質です。例えば、プログラム実行中にメソッドを定義し、追加することができるなどです。
一般にコンパイルを行い、ソースが機械語に変換され実行されると実行中のプログラムは変更ができませんが、一部のメタプログラミングによりリフレクション性を言語に持たせているものも多くあります。
選択肢アは、キャストの説明です。
選択肢ウは、ネストや入れ子の説明です。
選択肢エは、再帰の説明です。 |
|
意図 |
メタプログラミングについては、出題が無いので、一例としてリフレクション性を取り上げ出題しました。 |
|