encapsulation
encapsulationは、文脈によって物理的な意味と技術的な意味の二通りで使われます。物理的な文脈では、物質を保護膜や容器で包み込むという具体的な動作を指しますが、コンピュータサイエンスの文脈では、複雑な内部構造を隠蔽して簡潔なインターフェースのみを公開するという抽象的な概念を指します。
物理的側面と技術的側面の使い分け
物理的な意味でのencapsulationは、主に化学や製薬の分野で、薬剤をカプセル化して安定性を高めたり、放出時間を制御したりする場合に用いられます。一方で、プログラミングにおけるencapsulationは、データの整合性を保つための設計思想であり、内部の実装詳細を外部から隠すことで、システムの保守性を向上させることを目的としています。
日本語における概念の混同への注意
日本語でカプセル化と言う場合、多くはIT用語としての意味で使われますが、英語のencapsulationはより広範な意味を持ちます。例えば、環境汚染物質を樹脂で固めて封じ込めるような物理的な処理もencapsulationと呼びます。また、比喩的にある概念を簡潔に要約するという意味で使われることもありますが、この場合はsummarizationに近いニュアンスになります。文脈に応じて、それが物理的な包囲なのか、論理的な隠蔽なのか、あるいは要約なのかを判断することが重要です。
意味
何かをカプセルや保護コーティングで包み込むこと
The encapsulation of the medication in a gelatin shell ensures it reaches the intestines.
薬剤をゼラチン製の殻でカプセル化することで、腸まで届くことが保証される。
あるものの本質的な特徴を簡潔な形式で表現すること
The final chapter provides a perfect encapsulation of the author's main arguments.
最終章は、著者の主要な主張を完璧に要約している。
オブジェクト指向プログラミングにおいて、データとそのデータに作用するメソッドを一つの単位にまとめ、オブジェクトの構成要素への直接的なアクセスを制限する手法のこと
Proper encapsulation prevents external code from accidentally modifying the internal state of an object.
適切なカプセル化により、外部のコードがオブジェクトの内部状態を誤って変更することを防ぐことができる。