問題
オブジェクト指向プログラミングにおける、多相性を実現するためのオーバーライドの説明はどれか。
選択肢
- 1オブジェクト内の詳細な仕様や構造を外部から隠蔽すること
- 2スーパークラスで定義されたメソッドをサブクラスで再定義すること
- 3同一クラス内に、メソッド名が同一で、引数の型、個数、並びが異なる複数のメソッドを定義すること
- 4複数のクラスの共通な性質をまとめて、抽象化したクラスを作ること
正解
2. スーパークラスで定義されたメソッドをサブクラスで再定義すること
詳しい解説を見る解説を閉じる
解説
オーバーライドとは、スーパークラス(親クラス)で定義されたメソッドを、サブクラス(子クラス)で同じシグネチャのまま再定義し、振る舞いを上書きすることである。よって「イ」が正しい。これにより同じメッセージでもオブジェクトの型に応じて異なる動作をする多相性が実現される。アはカプセル化、ウはオーバーロード、エは汎化(抽象クラスの作成)の説明である。(出典: 平成29年度 秋期 基本情報技術者試験 午前 問7)
一問一答
科目A 180問+科目B 60問