開発技術

基本情報技術者試験オブジェクト指向」の問題

マネジメント系開発技術難易度:normal
オブジェクト指向において、オブジェクトの内部データを外部から直接操作できないように隠し、公開した手続(メソッド)を通じてのみアクセスさせることで、内部実装の変更が外部へ波及しにくくする考え方はどれか。
継承
カプセル化
多相性(ポリモーフィズム)
委譲
正解
カプセル化

カプセル化は、オブジェクトの属性(データ)を外部から直接触れないよう隠蔽し、公開した操作(メソッド)を介してのみ利用させる。内部の実装を変えても外部のインタフェースが保たれれば影響が及ばないため、設問の『変更が波及しにくい』という効果に合致する。

?選択肢ごとの解説

ア ×継承は既存クラスの性質を引き継いで新しいクラスを定義する仕組みであり、データを隠蔽してアクセスを限定する考え方ではない。
イ ○カプセル化は、オブジェクトの属性(データ)を外部から直接触れないよう隠蔽し、公開した操作(メソッド)を介してのみ利用させる。内部の実装を変えても外部のインタフェースが保たれれば影響が及ばないため、設問の『変更が波及しにくい』という効果に合致する。
ウ ×多相性は同じ操作呼び出しが対象の型に応じて異なる振る舞いをする性質であり、内部データの隠蔽を意味するものではない。
エ ×委譲は処理を他のオブジェクトに任せる手法であり、内部データを隠蔽してアクセスを制御するカプセル化とは目的が異なる。

くわしく

オブジェクト指向の三本柱はカプセル化・継承・多相性である。カプセル化は『隠す』、継承は『引き継ぐ』、多相性は『同じ呼び方で違う動き』と整理できる。カプセル化の本質は実装と利用の分離(情報隠蔽)であり、これによりモジュール間の結合が弱まり保守性が高まる。継承や委譲は再利用の手段で、隠蔽とは観点が異なる。

本番での押さえどころ

試験のコツ

『内部データを隠す』『メソッド経由でのみ操作』とあればカプセル化と判断する。

覚え方

カプセル化=薬のカプセルのように中身を包んで直接触らせない、とイメージする。

よくある誤り

三本柱の用語を取り違えやすい。データを隠して操作経由でアクセスさせる点はカプセル化に固有である。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0018

【基本情報技術者試験】オブジェクト指向の問題 — 解答・解説|ukamiru 過去問