【最新版】基本情報技術者試験 予想問題(テクノロジ) [問21] | 模擬試験で効率的に学習!

スポンサーリンク

問題

問21

プログラミング言語における変数のスコープを局所的な範囲に限定し、外部からの直接的な変更を防ぐことで、プログラムの保守性や信頼性を高める原則はどれか。

  • カプセル化
  • 継承
  • 多相性
  • 抽象化

正解

正解は「」です。

解説

 正解は「ア」のカプセル化です。カプセル化は、オブジェクト指向プログラミングの重要な原則の一つで、データ(変数)とそのデータを操作する手続き(メソッド)を一つにまとめ、内部の詳細を外部から隠すことを指します。これにより、データが意図しない形で外部から直接変更されるのを防ぎます。問題文にある「変数のスコープを局所的な範囲に限定し、外部からの直接的な変更を防ぐ」という説明は、まさにカプセル化の考え方そのものです。

 例えば、カプセルタイプの医薬品を想像してみてください。医薬品の成分(データ)はカプセル(オブジェクト)に包まれており、直接中身をいじることはできません。決められた用法・用量(メソッド)で服用することで、初めて効果を発揮します。このように、必要な機能だけを外部に公開し、内部の複雑な仕組みを隠すことで、プログラムの安全性が高まり、修正や機能追加がしやすくなる(保守性が向上する)のです。

イ(継承):
 既存のクラスの性質を受け継いで新しいクラスを作成する仕組みです。コードの再利用性を高めることが主な目的です。
ウ(多相性):
 同じ名前のメソッドでも、オブジェクトの種類によって異なる動作をする特性のことです。柔軟なプログラム設計を可能にします。
エ(抽象化):
 オブジェクトの重要な側面に焦点を当て、詳細を無視することです。複雑なものを単純化して捉える考え方です。

スポンサーリンク

解法のポイント

 この問題は、オブジェクト指向プログラミングの3大要素(カプセル化、継承、多相性)の基本的な意味を理解しているかが問われます。「データを隠す」「外部からの直接アクセスを防ぐ」「保守性を高める」といったキーワードがカプセル化に対応すると覚えましょう。それぞれの用語が持つ中心的な概念、例えば「継承=再利用」「多相性=多様な振る舞い」といった形で関連付けておくと、他の問題にも応用が効きやすくなります。

用語補足

カプセル化:
 データとそれを操作する手続きを一つにまとめ、中身を隠すことです。テレビのリモコンのように、利用者はボタン(公開された操作)を押すだけでよく、中の回路(内部データ)を意識する必要はありません。

スコープ:
 プログラム内で、変数や関数などが参照できる有効範囲のことです。例えば、ある関数内で宣言された変数は、基本的にはその関数の外からは使えません。これがスコープの考え方です。

保守性:
 ソフトウェアの品質特性の一つで、バグの修正や機能の追加・変更のしやすさの度合いを指します。整理整頓された部屋が模様替えしやすいように、保守性の高いプログラムは変更が容易です。

継承:
 親クラスの特性(属性やメソッド)を子クラスが引き継ぐ仕組みです。例えば、「動物」クラスを継承して「犬」クラスを作ると、「犬」は「動物」が持つ「鳴く」といった機能を自動的に受け継ぐことができます。



タイトルとURLをコピーしました