ITパスポート 2021年 問41
問題文
クラスや継承という概念を利用して、ソフトウェアを部品化したり再利用することで、ソフトウェア開発の生産性向上を図る手法として、適切なものはどれか。
選択肢
ア:オブジェクト指向(正解)
イ:構造化
ウ:プロセス中心アプローチ
エ:プロトタイピング
🔒 解説は解答すると表示されます
クラスや継承で部品化・再利用する手法はどれか【ITパスポート 解説】
正解の理由
設問にある「クラス」や「継承(いぞく)」という用語は、ソフトウェアを「オブジェクト(物)」に見立てて設計する考え方を指します。これがオブジェクト指向です。したがって、クラスや継承を使って部品化(モジュール化)や再利用性を高める方法として適切なのは ア のオブジェクト指向です。
- オブジェクト指向(Object-Oriented Programming、OOP:オブジェクトを基本単位に設計・実装する手法)は、クラス(設計図)とインスタンス(設計図から作られた実体)を使います。
- 継承は「親クラス(共通部分)を子クラスが受け継ぐ」仕組みで、共通コードの再利用や拡張がしやすくなります。
- これらにより、部品(クラス単位)の再利用や保守性の向上が期待できます。
解法ステップ
- 問題文のキーワードを探す:「クラス」「継承」。
- それらが関係する概念を思い出す:クラス・継承はオブジェクト指向の基本要素。
- 選択肢を当てはめる:クラスや継承を使うものはオブジェクト指向のみ。他は別の考え方。
- 結論:ア(オブジェクト指向)が正しい。
選択肢別の誤答解説
-
ア オブジェクト指向
正しい。クラス(設計図)と継承(親子関係)を使い、モジュール化・再利用を図る設計手法です。 -
イ 構造化(構造化プログラミング/構造化設計)
間違い。構造化はプログラムを関数や手続き(サブルーチン)で分割します。クラスや継承を前提とはしません。手順や処理の流れを整理する手法です。 -
ウ プロセス中心アプローチ(プロセス中心設計)
間違い。これは業務プロセス(仕事の流れ)や工程を中心にシステム化する考え方です。部品化や継承の概念とは直接の対応がありません。 -
エ プロトタイピング(試作)
間違い。プロトタイピングは「まず試作品を作り、ユーザー評価で改良する」開発手法です。再利用や継承の概念を示しているわけではありません。
よくある誤解
-
「構造化とオブジェクト指向は同じ」
→ 両者は分割の単位が違います。構造化は手続き(処理のまとまり)で分けますが、オブジェクト指向はデータとそれに対する操作をセットにしたオブジェクト単位で分けます。 -
「継承すれば何でも再利用できる」
→ 継承は便利ですが、安易に使うと設計が複雑になりやすいです。場合によっては「委譲(composition:別の部品を内部に持つ)」の方が安全で柔軟です。 -
「プロトタイピングは再利用を目的とする手法」
→ プロトタイピングは検証・要件固めが目的で、再利用性の向上そのものを直接目的とした手法ではありません。
補足コラム
オブジェクト指向の主なメリットと簡単なイメージ:
- クラス(class)は「設計図」。例:自動車(Vehicle)というクラスがあると、その設計図から具体的な車(インスタンス)を作れる。
- 継承(inheritance)は「共通部分を受け継ぐ仕組み」。例:自動車クラスを親にして「スポーツカー」が機能を受け継ぎ、追加機能を持てます。
- カプセル化(encapsulation:情報を中に閉じること)、ポリモーフィズム(polymorphism:同じ操作で異なる振る舞いを可能にすること)などの概念もあります。これらが組み合わさり、保守性や拡張性、再利用性が高まります。
覚え方のコツ:クラス=設計図、継承=受け継ぐ。設計図を使って部品(オブジェクト)を作り、似たものは親から受け継ぐイメージです。
FAQ
Q1: クラスとオブジェクトの違いは?
A1: クラスは設計図、オブジェクト(インスタンス)はその設計図から作られた実体です。設計図(クラス)に仕様を書いて、実際に動くものがオブジェクトです。
A1: クラスは設計図、オブジェクト(インスタンス)はその設計図から作られた実体です。設計図(クラス)に仕様を書いて、実際に動くものがオブジェクトです。
Q2: 継承と委譲(composition)のどちらを使うべき?
A2: 一概には言えません。共通の性質を「is-a(〜は〜だ)」で表せる場合は継承、別の部品を内部に持つ「has-a(〜は〜を持つ)」関係なら委譲(composition)が適します。一般には委譲の方が柔軟で安全と言われます。
A2: 一概には言えません。共通の性質を「is-a(〜は〜だ)」で表せる場合は継承、別の部品を内部に持つ「has-a(〜は〜を持つ)」関係なら委譲(composition)が適します。一般には委譲の方が柔軟で安全と言われます。
Q3: オブジェクト指向はいつ使うべき?
A3: 複雑で拡張が予想されるシステム、再利用性や保守性を重視する場合に有効です。小さく単純な処理だけなら必須ではありません。
A3: 複雑で拡張が予想されるシステム、再利用性や保守性を重視する場合に有効です。小さく単純な処理だけなら必須ではありません。
関連キーワード: オブジェクト指向、クラス、継承、モジュール化、再利用、カプセル化、ポリモーフィズム、構造化設計、プロトタイピング

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

