令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問5

Java サーブレットを用いた Web アプリケーションソフトウェアの開発では,例えば,doGet や doPost などのメソッドを,シグネチャ(メソッド名,引数の型・個数・順序)は変えずに,目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。

解答・解説

正解: ア. オーバーライド

正解は ア の オーバーライド です。

オブジェクト指向プログラミングにおいて、親クラス(スーパークラス)で定義されているメソッドを、子クラス(サブクラス)で シグネチャ(メソッド名、引数の型・個数・順序)を変えずに 独自の処理に書き換える(再定義する)ことを オーバーライド と呼びます。
Javaサーブレットの開発では、HttpServlet クラスなどを継承し、同クラスに用意されている doGet や doPost メソッドをオーバーライドすることで、HTTPリクエストに対する処理を実装します。

各選択肢の解説

  • ア オーバーライド: 正解。親クラスのメソッドを、子クラスで同じシグネチャのまま再定義することです。
  • イ オーバーロード: 誤り。同一クラス内で、メソッド名は同じでも 引数の型や個数が異なる メソッドを複数定義することです。
  • ウ カプセル化: 誤り。オブジェクトのデータ(プロパティ)と処理(メソッド)を一つにまとめ、外部からの直接的なアクセスを制限(隠蔽)するオブジェクト指向の概念です。
  • エ 継承: 誤り。既存のクラス(親クラス)のデータやメソッドを引き継いで、新しいクラス(子クラス)を作成することです。オーバーライドは継承を前提として行われますが、メソッドの置き換え自体を指す言葉ではありません。

Spineチーム