応用情報技術者試験 応用情報技術者試験 平成30年度春期 午前 問7: オブジェクト指向プログラミングにおいて,同一クラス内に,メソッド名が同一であって,引数の型,個数又は並び順が異なる複数のメソッドを定義することを何と呼ぶか。
プログラミングにおいて,同一クラス内に,メソッド名が同一であって,引数の型,個数又は並び順が異なる複数のメソッドを定義することを何と呼ぶか。
59.09%
問題本文
オブジェクト指向プログラミングにおいて,同一クラス内に,メソッド名が同一であって,引数の型,個数又は並び順が異なる複数のメソッドを定義することを何と呼ぶか。
選択肢
- ア.オーバーライド
- イ.オーバーロード
- ウ.カプセル化
- エ.汎化
解説
メソッド名は同じでも引数の型・個数・並び順が違えば別のメソッドとして区別して定義できる仕組みをオーバーロード(多重定義)と呼ぶ。呼び出し時の引数によってどのメソッドを実行するかが選ばれる。これを述べたイが正解。
選択肢ごとの解説
- ア.オーバーライドは、スーパークラス(親)で定義されたメソッドを、サブクラス(子)で同じ名前・同じ引数のまま処理内容を上書き(再定義)すること。継承関係が前提であり、同一クラス内で引数違いを定義する本問とは異なる。
- イ.同一クラス内で同名・引数違いのメソッドを複数定義することはオーバーロードであり、正しい。
- ウ.カプセル化は、データ(属性)への直接アクセスを制限し、必ずメソッド経由で操作させることでデータを保護する仕組み。メソッドの多重定義とは無関係。
- エ.汎化は、複数のクラスに共通する性質を上位クラスとしてまとめる継承関係(is-a関係)を表す概念であり、メソッドの定義方法ではない。
応用情報技術者試験 平成30年度春期 午前 の過去問一覧へ戻る・問7