令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問4
テクノロジアルゴリズムシステム開発技術プログラム言語・パラダイムソフトウェア設計・保守・再利用
Javaサーブレットを用いたWebアプリケーションソフトウェアの開発では,例えば,doGetやdoPostなどのメソッドを,シグネチャ(メソッド名,引数の型と個数)は変えずに,目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。
解答・解説
正解: ア. オーバーライド
正解は ア です。
オブジェクト指向プログラミングにおいて、スーパークラス(親クラス)で定義されているメソッドを、サブクラス(子クラス)で同じシグネチャ(メソッド名、引数の型と個数)のまま再定義して処理を上書きすることをオーバーライド(Override)と呼びます。Javaサーブレットでは、HttpServletクラスを継承し、その中にあるdoGetやdoPostメソッドをオーバーライドすることで、リクエストに応じた独自の処理を実装します。
各選択肢の解説
- ア:オーバーライド(正解)
スーパークラスのメソッドを、サブクラスにおいて同じシグネチャで再定義(上書き)することです。 - イ:オーバーロード
同一クラス内で、メソッド名は同じでも引数の型、個数、並び順(シグネチャ)が異なる複数のメソッドを定義すること(多重定義)です。 - ウ:カプセル化
データ(属性)とそれを操作する手続き(メソッド)を1つのオブジェクトにまとめ、外部から直接データにアクセスできないように隠蔽(情報隠蔽)することです。 - エ:継承
あるクラス(スーパークラス)の特性(属性やメソッド)を別のクラス(サブクラス)が引き継ぐ仕組み(インヘリタンス)のことです。