応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
次回試験日:2025年4月20日(あと1日)

応用情報技術者試験 令和6年春 午前問45 解説付き過去問

問題

オブジェクト指向におけるクラス間の関係のうち、適切なものはどれか。

正解

解説

オブジェクト指向における「継承」は、あるクラス(スーパークラスまたは親クラス)が持つ属性や操作(メソッド)を、別のクラス(サブクラスまたは子クラス)が引き継ぐ仕組みである。これにより、既存の機能を再利用しつつ、サブクラス側で独自の振る舞いを追加・変更することができる。

  • スーパークラスとサブクラスの関係
    スーパークラスは共通の機能や属性を定義する一般的なクラスであり、サブクラスはそのスーパークラスを継承し、より具体的な振る舞いを表すクラスである。サブクラスはスーパークラスの属性や操作を引き継ぐことで、コードの再利用が可能となる。

  • 操作の再定義(オーバーライド)
    サブクラスは、スーパークラスで定義されている操作(メソッド)を、必要に応じて独自に再定義することができる。この再定義を「オーバーライド」と呼び、同じ名前の操作であっても、サブクラスで異なる処理を実装することが可能となる。これにより、多態性(ポリモーフィズム)を実現することができる。

  • 他の選択肢との違い
    - クラス間の関連は複数のクラス間で定義可能であり、2つのクラスに限定されるわけではない。
    - サブクラスのインスタンスが操作を実行する際、その操作がスーパークラスで定義されていれば、サブクラスから直接継承して実行されるのであり、スーパークラスのインスタンスに依頼するわけではない。
    - 集約(aggregation)は「部分-全体」の関係を表すが、クラスの属性や操作を共有することは意味していない。集約される部品オブジェクトは独立性を持ち、構造的な関係を表すのみである。

このように、オブジェクト指向においてサブクラスがスーパークラスの操作を再定義できることは、継承の基本的な機能の一つであり、柔軟な設計を可能にする重要な概念である。