令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問5
テクノロジ/開発技術Java サーブレットを用いた Web アプリケーションソフトウェアの開発では,例えば,doGet や doPost などのメソッドを,シグネチャ(メソッド名,引数の型・個数・順序)は変えずに,目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問5
- アオーバーライド
- イオーバーロード
- ウカプセル化
- エ継承
正解:ア
解説
オーバーライドは,スーパークラス(この場合は HttpServlet クラス)で定義されたメソッドを,サブクラスで同じシグネチャのまま再定義し,処理内容を置き換えることです。Java サーブレットでは HttpServlet を継承したクラスで doGet や doPost をオーバーライドし,目的の処理を実装します。
選択肢ごとの解説
- ア正しい。シグネチャを変えずにスーパークラスのメソッドの処理内容を再定義することをオーバーライドといいます。
- イ誤り。オーバーロードは,同じ名前で引数の型・個数・順序が異なるメソッドを複数定義することで,シグネチャが変わる点が本問と異なります。
- ウ誤り。カプセル化は,データとそれを操作する手続をひとまとめにし,内部構造を外部から隠蔽することです。
- エ誤り。継承は,既存クラスの属性や操作を引き継いで新しいクラスを定義する仕組みで,メソッドの置き換えそのものを指す用語ではありません。