令和7年度 春期 システムアーキテクト試験 午前II 問2

オブジェクト指向設計における設計原則の説明のうち, 開放・閉鎖原則のものはどれか。

解答・解説

正解: エ. モジュールは, 機能の追加や変更が可能であって, その影響を他のモジュールに及ぼしてはならない。

オブジェクト指向設計の原則であるSOLID原則の1つ、開放・閉鎖原則 (Open-Closed Principle) に関する問題です。

開放・閉鎖原則とは、「ソフトウェアの構成要素(クラス、モジュール、関数など)は、拡張に対しては開いて(Open)おり、修正に対しては閉じて(Closed)いなければならない」という原則です。つまり、新しい機能を追加する際に、既存のコードを書き換えることなく拡張できるように設計するべきだという考え方です。

各選択肢の解説

  • ア: 誤り。クラスにもたせる役割は一つだけにするべきであり、複数の役割が存在する場合にはクラスを分割するというのは、単一責任原則 (Single Responsibility Principle) の説明です。
  • イ: 誤り。クラスを利用するクライアントごとに異なるメソッドが必要な場合は、インタフェースを分けるというのは、インタフェース分離の原則 (Interface Segregation Principle) の説明です。
  • ウ: 誤り。上位のモジュールは、下位のモジュールに依存してはならないというのは、依存性逆転の原則 (Dependency Inversion Principle) の説明です。
  • エ: 正解。モジュールは、機能の追加や変更が可能であって、その影響を他のモジュールに及ぼしてはならないというのが、開放・閉鎖原則の説明です。

Spineチーム