平成30年度春期 応用情報技術者試験 午前 問7
オブジェクト指向プログラミングにおいて,同一クラス内に,メソッド名が同一であって,引数の型,個数又は並び順が異なる複数のメソッドを定義することを何と呼ぶか。
- ア オーバーライド
- イ オーバーロード
- ウ カプセル化
- エ 汎化
解答・解説を見る
正解:イ
AI解説
IPA公式解答例による正解は「イ」。同一クラス内に、メソッド名が同じで引数の型・個数・並び順が異なるメソッドを複数定義することをオーバーロード(多重定義)という。呼び出し時には引数の形に応じて適切なメソッドが選択される。スーパークラスとの関係で再定義するオーバーライドとの区別が判断基準である。 ア: 誤り。オーバーライドは、サブクラスがスーパークラスから継承したメソッドを同じシグネチャで再定義すること。「同一クラス内」「引数が異なる」という本問の条件に合わない。 イ: 正しい。同一クラス内で引数の型・個数・並びが異なる同名メソッドを定義するのがオーバーロードである。 ウ: 誤り。カプセル化は、データとそれを操作するメソッドを一体化し内部を隠蔽するオブジェクト指向の概念である。 エ: 誤り。汎化は、複数のクラスに共通する性質を抽出して上位クラス(スーパークラス)として定義する関係のことである。 💡 「ロード=積む→同じ名前に複数の定義を積み重ねる=オーバーロード」「ライド=乗る→親のメソッドの上に乗って上書き=オーバーライド」と語呂で区別する。両者の入替えは最頻出のひっかけ。
出典:平成30年度 春期 応用情報技術者試験 午前 問7 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。