アルゴリズムとプログラミング
オブジェクト指向プログラミングにおける「カプセル化」の説明として最も適切なものはどれか。
ア.複数のクラスが同一のメソッド名を持ち、それぞれ異なる実装を提供すること
イ.クラスのインスタンスを複数生成することで、同じ構造を持つオブジェクトを量産すること
ウ.親クラスの特性を子クラスが引き継ぎ、コードを再利用すること
エ.データ(フィールド)とそのデータを操作するメソッドを一つの単位にまとめ、外部から直接アクセスできないように隠蔽すること正解
解説
カプセル化は「クスリのカプセル」そのもの。有効成分(データ)と薬の効果(メソッド)が一つのカプセルに包まれていて、中身に直接触れることなく、決まった方法(public メソッド)でのみ利用できる設計思想。
なぜ エ が正解か
カプセル化(Encapsulation)とは、データ(フィールド/属性)とそれを操作するメソッドを一つのクラスにまとめ、外部からのデータへの直接アクセスを制限(private/protected修飾子)し、公開インターフェース(public メソッド)を通じてのみ操作させる概念。これにより内部実装を隠蔽し、不正なデータ操作を防ぐ。
出典: AI生成問題(学習用)