IPA過去問ドリル

平成29年度 秋期 基本情報技術者試験 午前 問7

テクノロジ/開発技術

オブジェクト指向プログラミングにおける,多相性を実現するためのオーバーライドの説明はどれか。

出典:平成29年度 秋期 基本情報技術者試験 午前 問7

正解:イ

解説

オーバーライドとは,スーパークラス(親クラス)で定義されたメソッドと同じ名前・引数のメソッドをサブクラス(子クラス)で再定義し,サブクラスのオブジェクトに対しては再定義した方の処理が呼び出されるようにする仕組みです。これにより,呼び出し側のコードを変えずに,オブジェクトの実際のクラスに応じて異なる振る舞いをさせる多相性(ポリモーフィズム)が実現できます。

選択肢ごとの解説

  • 誤り。オブジェクト内部の詳細な仕様や構造を外部から隠蔽することは,カプセル化の説明です。
  • 正しい。スーパークラスで定義されたメソッドをサブクラスで再定義することがオーバーライドの定義です。
  • 誤り。同一クラス内でメソッド名は同じだが引数の型・個数・並び順が異なる複数のメソッドを定義することは,オーバーロード(多重定義)の説明です。
  • 誤り。複数クラスの共通する性質をまとめて抽象化したクラスを作ることは,汎化(クラスの継承構造を作ること)の説明です。
基本情報技術者の過去問を演習モードで解く