基本情報技術者試験 - 令和5年7月修了 - 問7
| ア | オブジェクト内の詳細な仕様や構造を外部から隠蔽すること |
|---|---|
| イ | スーパークラスで定義されたメソッドをサブクラスで再定義すること |
| ウ | 同一クラス内に,メソッド名が同一で,引数の型,個数,並び順が異なる複数のメソッドを定義すること |
| エ | 複数のクラスの共通する性質をまとめて,抽象化したクラスを作ること |
答え : イ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › プログラミング
解説 :
オブジェクト指向プログラミングにおける「多相性」(ポリモーフィズム)とは,同じメッセージ(メソッド呼び出し)を送っても,オブジェクトの種類によって異なる振る舞いをするという性質のことです。
この多相性を実現するための方法の一つが「オーバーライド」で,これはスーパークラス(親クラス)で既に定義されているメソッドを,サブクラス(子クラス)で改めて再定義することを指します。サブクラスでオーバーライドを行うことで,親クラスと同じ名前のメソッドを呼び出しても,実際にはサブクラス側で定義した独自の処理が実行されるようになります。従って,正解は「イ」です。
「ア」は,オブジェクト内の詳細な仕様や構造を外部から隠蔽することについての説明で,これは「カプセル化」の説明です。
「ウ」は,同一クラス内に,メソッド名が同じでも引数の型や個数,並び順が異なる複数のメソッドを定義することについての説明で,これは「オーバーロード」と呼ばれる,オーバーライドとは異なる仕組みの説明です。
オーバーライドとオーバーロードは名前が似ていますが,オーバーライドは親子関係にあるクラス間で同じメソッドを再定義するのに対し,オーバーロードは同じクラスの中で引数の違いによって複数のメソッドを使い分けるという点で異なります。
「エ」は,複数のクラスの共通する性質をまとめて抽象化したクラスを作ることについての説明で,これは「汎化」や「継承」に関連する考え方です。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › プログラミング
解説 :
オブジェクト指向プログラミングにおける「多相性」(ポリモーフィズム)とは,同じメッセージ(メソッド呼び出し)を送っても,オブジェクトの種類によって異なる振る舞いをするという性質のことです。
この多相性を実現するための方法の一つが「オーバーライド」で,これはスーパークラス(親クラス)で既に定義されているメソッドを,サブクラス(子クラス)で改めて再定義することを指します。サブクラスでオーバーライドを行うことで,親クラスと同じ名前のメソッドを呼び出しても,実際にはサブクラス側で定義した独自の処理が実行されるようになります。従って,正解は「イ」です。
「ア」は,オブジェクト内の詳細な仕様や構造を外部から隠蔽することについての説明で,これは「カプセル化」の説明です。
「ウ」は,同一クラス内に,メソッド名が同じでも引数の型や個数,並び順が異なる複数のメソッドを定義することについての説明で,これは「オーバーロード」と呼ばれる,オーバーライドとは異なる仕組みの説明です。
オーバーライドとオーバーロードは名前が似ていますが,オーバーライドは親子関係にあるクラス間で同じメソッドを再定義するのに対し,オーバーロードは同じクラスの中で引数の違いによって複数のメソッドを使い分けるという点で異なります。
「エ」は,複数のクラスの共通する性質をまとめて抽象化したクラスを作ることについての説明で,これは「汎化」や「継承」に関連する考え方です。