正答2
解説
正解は2です。
オーバーライドとは、スーパークラス(親クラス)で定義されたメソッドを、サブクラス(子クラス)で同じ名前のまま処理内容を変えて定義し直すことです。
同じメソッド呼出しでも、オブジェクトのクラスによって異なる動作をする多相性(ポリモーフィズム)が実現できます。
【選択肢別解説】
1:× オブジェクトの内部の仕様や構造を外部から隠すのは、カプセル化(情報隠蔽)です。
2:○ スーパークラスのメソッドをサブクラスで再定義するのが、オーバーライドの定義です。
3:× 同じクラス内に、名前が同じで引数の型・個数・並び順が異なるメソッドを複数定義するのは、オーバーロードです。
オーバーライドは継承関係にある別のクラスで再定義する点が異なります。
4:× 複数のクラスに共通する性質をまとめて上位のクラスを作るのは、汎化です。
【ポイント】
オーバーライドは「上書き(親から子へ再定義)」、オーバーロードは「多重定義(同じクラス内で引数違い)」と区別します。
どちらも多相性を実現する手段として出題されます。