カプセル化 【encapsulation】

概要

カプセル化(encapsulation)とは、オブジェクト指向プログラミングにおいて、互いに関連するデータの集合とそれらに対する操作をオブジェクトとして一つの単位にまとめ、外部に対して必要な情報や手続きのみを提供すること。外から直に参照や操作をする必要のない内部の状態や構造は秘匿される。

オブジェクトは外部に公開された手続き(メソッド)により機能を提供する。内部の状態を表す変数なども、外部からの参照・操作が必要なものだけが専用の手続きによってアクセス可能となり、それ以外は外から見えない存在となる。

十分にカプセル化されたオブジェクトを組み合わせてプログラム構築していくことにより、オブジェクトの内部の仕様の変更が外部に予期せぬ影響を及ぼしたり、外部からの予期せぬ干渉でオブジェクトの状態が壊されることを防ぐことができるようになる。

通信におけるカプセル化

データ通信においてカプセル化といった場合には、ある通信手順プロトコル)によるデータ表現の内部に、別のプロトコルによるデータ表現を埋め込んで伝送することを指す。

通信プロトコルの多くは、送受信するデータの基礎単位(パケットフレームなど)の構造を定義しており、先頭に制御情報などを含むヘッダ領域、その後に運びたいデータの本体(ペイロードやボディ)が続いている(末尾にも制御情報などが付加される場合もある)。このデータ本体部分に、より上位のプロトコルの送受信単位を埋め込むことをカプセル化という。

カプセル化は多段階にわれることが多く、各階層のプロトコルは自らの機能に専念し、上位あるいは下位のプロトコルの詳細を気にしなくても良くなる。また、インターネットのように様々な伝送媒体や異なる管理主体のネットワークをまたいで通信するのも容易となる。

例えば、LAN上をWebデータが流れる場合、EthernetフレームペイロードIPパケットがカプセル化され、IPパケットペイロードTCPパケットがカプセル化され、TCPパケットペイロードHTTPメッセージがカプセル化されて伝送される。

(2017.11.11更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる