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

スポンサーリンク

問題

問93

オブジェクト指向プログラミングにおいて、オブジェクトが外部から直接アクセスできないように、内部状態とメソッドをまとめて隠蔽する仕組みはどれか。

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

正解

正解は「」です。

解説

 正解は「エ」のカプセル化です。カプセル化は、オブジェクト指向プログラミングの基本原則の一つで、データ(内部状態)と、そのデータを操作するための手続き(メソッド)を一つのオブジェクトにまとめることを指します。さらに重要なのは、オブジェクトの内部の詳細を外部から隠蔽(情報隠蔽)し、公開されたメソッドを通じてのみデータにアクセスできるように制限することです。これにより、データが意図しない形で外部から勝手に変更されるのを防ぎ、プログラムの安全性と保守性を高めることができます。

 例えば、テレビのリモコンを考えてみてください。私たちはボタン(公開されたメソッド)を押すだけでチャンネルを変えたり音量を調整したりできますが、中の複雑な電子回路(内部状態)を直接触ることはありません。このように、必要な操作だけを提供し、内部の仕組みを隠すのがカプセル化の考え方です。

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

スポンサーリンク

解法のポイント

 この問題は、オブジェクト指向の三大要素(カプセル化、継承、多相性)の基本的な定義を問うものです。「内部状態を隠蔽する」「外部から直接アクセスできないようにする」といったキーワードがカプセル化に対応すると覚えましょう。それぞれの用語が持つ中心的な概念、例えば「継承=再利用」「多相性=多様な振る舞い」といった形で関連付けておくと、他の問題にも応用が効きやすくなります。これらの概念は頻出のため、確実に区別できるようにしておくことが重要です。

用語補足

カプセル化:
 データと処理をカプセルのように一つにまとめ、中身を隠すことです。自動販売機のように、利用者はボタンを押して商品を買いますが、内部のお金の管理や在庫補充の仕組みは知る必要がありません。

オブジェクト指向:
 プログラムを、モノ(オブジェクト)の作成と、それらの相互作用として捉える考え方です。現実世界のモノをモデルにすることで、分かりやすく保守性の高いプログラムを目指します。

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

多相性(ポリモーフィズム):
 同じ「鳴く」という命令でも、犬オブジェクトなら「ワン」、猫オブジェクトなら「ニャー」と、対象によって振る舞いが変わる性質のことです。



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