カプセル化(プログラミング)

提供: MonoBook
2018年8月24日 (金) 02:16時点におけるimported>Administratorによる版 (ページの作成:「'''カプセル化'''(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

カプセル化英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。

偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータにアクセスできないと解決できない問題が出てきて、結果的にデスマーチになるというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」という概念がない。