カプセル化とは?
かぷせるか
カプセル化とは、オブジェクトのデータと処理をひとまとめにし、外部から直接アクセスできる範囲を制限するオブジェクト指向の設計原則です。
カプセル化(Encapsulation)とは、オブジェクト指向プログラミングにおける基本原則の一つで、オブジェクトの内部データ(フィールド)とそれを操作するメソッドをひとつのクラスにまとめ、外部からの直接アクセスを制限する仕組みです。
カプセル化を実現するために、プログラミング言語はアクセス修飾子という仕組みを提供しています。
- private:クラス内部からのみアクセス可能
- protected:クラスおよびサブクラスからアクセス可能
- public:どこからでもアクセス可能
一般的なパターンとして、フィールドをprivateにしてクラス外部から直接変更できないようにし、getterやsetterと呼ばれる公開メソッドを通じてのみ値の取得・設定を許可します。setterにバリデーション処理を加えることで、不正な値の設定を防ぐことができます。
カプセル化のメリットは以下の通りです。
- 内部実装の変更が外部コードに影響しないため、保守性が向上する
- データの整合性を保ちやすい
- 複雑な処理を隠蔽し、インターフェースをシンプルに保てる
カプセル化はオブジェクト指向の三大原則(カプセル化・継承・ポリモーフィズム)の一つとして、堅牢なソフトウェア設計の基礎を形成しています。
使い方・例文
「銀行口座クラスで残高をprivateにし、入金・出金はメソッド経由で制御することで、不正な残高操作を防ぐ」というように、データ保護の文脈で説明されます。
この用語をシェア
最終更新: