令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問5
テクノロジアルゴリズムプログラム言語・パラダイム
Java サーブレットを用いた Web アプリケーションソフトウェアの開発では,例えば,doGet や doPost などのメソッドを,シグネチャ(メソッド名,引数の型・個数・順序)は変えずに,目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。
解答・解説
正解: ア. オーバーライド
正解は ア の オーバーライド です。
オブジェクト指向プログラミングにおいて、親クラス(スーパークラス)で定義されているメソッドを、子クラス(サブクラス)で シグネチャ(メソッド名、引数の型・個数・順序)を変えずに 独自の処理に書き換える(再定義する)ことを オーバーライド と呼びます。
Javaサーブレットの開発では、HttpServlet クラスなどを継承し、同クラスに用意されている doGet や doPost メソッドをオーバーライドすることで、HTTPリクエストに対する処理を実装します。
各選択肢の解説
- ア オーバーライド: 正解。親クラスのメソッドを、子クラスで同じシグネチャのまま再定義することです。
- イ オーバーロード: 誤り。同一クラス内で、メソッド名は同じでも 引数の型や個数が異なる メソッドを複数定義することです。
- ウ カプセル化: 誤り。オブジェクトのデータ(プロパティ)と処理(メソッド)を一つにまとめ、外部からの直接的なアクセスを制限(隠蔽)するオブジェクト指向の概念です。
- エ 継承: 誤り。既存のクラス(親クラス)のデータやメソッドを引き継いで、新しいクラス(子クラス)を作成することです。オーバーライドは継承を前提として行われますが、メソッドの置き換え自体を指す言葉ではありません。