システムアーキテクト試験 令和5年度 春期 午前II 問5
Javaサーブレットを用いたWebアプリケーションソフトウェアの開発では、例えば、doGetやdoPostなどのメソッドを、シグネチャ(メソッド名、引数の型・個数・順序)は変えずに、目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
オーバーライドは、スーパークラスから継承したメソッドについて、同じシグネチャのまま、サブクラス側で処理内容を再定義することです。Javaサーブレットでは、HttpServletクラスに用意されているdoGetやdoPostをサブクラスでオーバーライドし、HTTPのGET要求やPOST要求に応じたアプリケーション固有の処理を記述します。メソッド名や引数の型、個数、順序を変えずに処理を置き換えているので、アが正解です。
イのオーバーロードは誤りです。これは、同じ名前のメソッドを、引数の型、個数又は順序が異なる別のシグネチャで複数定義することです。処理を選択する基準は、呼出し時に指定された引数です。
ウのカプセル化は誤りです。これは、データとそれを操作するメソッドを一つのクラスにまとめ、フィールドなどの内部実装を外部から隠蔽する考え方です。アクセス修飾子によって公開範囲を制御します。
エの継承は誤りです。これは、既存のクラスの属性やメソッドを引き継いで新しいクラスを定義する仕組みです。オーバーライドは継承を前提に行われますが、メソッドの処理内容を再定義する操作そのものを指す用語はオーバーライドです。
【ポイント】 オーバーライドは「同じシグネチャで処理を再定義」、オーバーロードは「同じ名前で引数を変更」と区別します。 Javaでは@Overrideアノテーションを付けると、誤ったシグネチャによる定義ミスをコンパイラが検出できます。 サーブレットコンテナはHTTPメソッドに応じて、オーバーライドされたdoGetやdoPostを呼び出します。
出典:令和5年度 春期 システムアーキテクト試験 午前II 問5
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる