メールでパッケージを送信していると想像してください。
* パッケージ自体は、オブジェクトのデータ(または属性)を表します。 これは何でもかまいません:本、シャツ、手紙など。
* パッケージのボックスはカプセル化を表します。 それは外の世界からデータを保護し、内部の詳細を隠します。あなたはそれを出荷するために箱の中に何があるかを知る必要はありません。
* ボックス上のアドレスは、オブジェクトと相互作用するメソッド(または関数)を表します。 これらの方法は、内部のデータにアクセスまたは変更する唯一の方法です。ボックスを開いて内容を直接変更することはできません。
これがプログラミングのカプセル化にどのように関連するか
* カプセル化はデータを保護します。 箱の中のパッケージのように、オブジェクトの内部の詳細が非表示になります。これにより、偶発的な変更が防止され、コードがより堅牢になります。
* カプセル化は、明確なインターフェイスを提供します。 ボックスのアドレスがパッケージをどうするかを教えてくれるように、メソッドはオブジェクトとの対話方法を定義します。
* カプセル化により、コードのメンテナンスが容易になります。 コードの他の部分を壊すことなく、オブジェクトの内部詳細(ボックスの内容など)を変更できます。
要約: カプセル化は、データをボックスに入れるようなもので、アクセスのアドレスのみを提供します。それは物事をきれいにし、整理し、安全に保ちます。
