カプセル化とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > カプセル化の意味・解説 

カプセル‐か〔‐クワ〕【カプセル化】


カプセル化 [encapsulation]


カプセル化


カプセル化

プログラミングのほかの用語一覧
オブジェクト指向:  Hibernate  ポリモーフィズム  IDL  カプセル化  コンストラクタ  コンポーネント  メソッド

カプセル化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/27 18:27 UTC 版)

カプセル化(カプセルか、: encapsulation)は、コンピュータプログラミングで用いられる概念で互いに関連するデータとロジックなどを1つのモジュールとしてまとめることである[1]。また、より広い意味ではまとめたモジュールの内側の詳細を外側から隠蔽することをも含む[2]。この隠蔽は計算機科学者デビッド・パーナスが提唱した情報隠蔽英語版と同義である。


注釈

  1. ^ 構造化プログラミング pp.58-65 における image型 はデータ抽象の例である。
  2. ^ なお、紛らわしい名称を持つプログラミング言語のPerl開発者であるラリー・ウォールは、構造化プログラミングの真珠(pearl)との関連性を明確には述べていない。本家インタビュー:Perl開発者ラリー・ウォール
  3. ^ ダイクストラやヴィルトの普及もあってか、以後「アルゴリズム」と「データ構造」と言う単語の入ったプログラミングに関する書籍が数多く出版されることとなった。
  4. ^ このような構成からなるプログラムは変更に弱く、バグが発生しやすいため保守管理が困難である。
  5. ^ 用法としてカプセル化という用語は情報隠蔽も含むことが多い。一方、モジュール化という用語はそういったニュアンスは少ない。
  6. ^ ソフトウェア業界においては、理想的には顧客が提示する仕様書に基づいてソフトウェアを開発し、そのソフトウェアが仕様書を満たしていれば顧客に納品することができる。つまり、顧客が提示する仕様書にある機能が実現されており、かつその機能を実行する限りにおいて動作検証されていれば、そもそも顧客が関知する理由の無い実装上必要となる機能の幾つかが不具合を有していても、そのソフトウェアは仕様書を満たしていると主張可能ということである。

出典

  1. ^ 上田勲『プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則』秀和システム、2016年3月29日、84頁。ISBN 978-4-7980-4614-3 
  2. ^ 上田勲『プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則』秀和システム、2016年3月29日、86頁。ISBN 978-4-7980-4614-3 
  3. ^ 構造化プログラミング pp.58-65
  4. ^ 構造化プログラミング pp.68-69
  5. ^ 山崎(1990) p.131


「カプセル化」の続きの解説一覧

カプセル化 (encapsulation)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/02 14:27 UTC 版)

クラス (コンピュータ)」の記事における「カプセル化 (encapsulation)」の解説

詳細は「カプセル化」を参照 一般にどんなプログラムであれ、プログラム機能提供するためにはデータ保有するだけではなくデータ対す操作ができなければならない。単に複数データをまとめる手段としては、C言語構造体Pascalレコード型といった形で従来の手続きプログラミング言語において提供されている。一方クラスは、データだけでなくそのデータ関連する操作ひとまとめにして管理する枠組み提供するこのように関連する変数操作などをクラス所属物として一つまとめてしまうことを、クラスによる情報のカプセル化(encapsulation)と呼ぶ。適切なカプセル化により、データ構造アルゴリズムなどを変更したとしても、変更箇所はカプセル化されたクラス領域内だけで済み変更箇所クラス外の関連ソースコード全体にまで散乱波及してしまうことを防ぐことができる。 またアクセス修飾子 (access modifier) により、所属に対して公開/非公開情報区別をつけることで、クラス外部からクラスに対して破壊的操作加えることを防いだり、特定の機密データクラス外部から見ることができないようにしたりするなど、外部開放する情報制限をつけることができる。カプセル化した上に公開/非公開情報区別加えることを情報隠蔽information hiding)と呼ぶ。

※この「カプセル化 (encapsulation)」の解説は、「クラス (コンピュータ)」の解説の一部です。
「カプセル化 (encapsulation)」を含む「クラス (コンピュータ)」の記事については、「クラス (コンピュータ)」の概要を参照ください。


カプセル化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/16 05:46 UTC 版)

C++」の記事における「カプセル化」の解説

カプセル化とは、データ構造保証し演算子意図したとおりに動作しクラス利用者直感的に使い方理解できるようにするためにデータ隠蔽することである。クラス関数C++基礎的なカプセル化のメカニズムである。クラスメンバpublicprotectedprivateいずれかとして宣言され明示的にカプセル化できる。publicメンバはどの関数からでもアクセスできる。privateメンバクラスメンバ関数から、またはクラス明示的にアクセス権与えたフレンド関数からアクセスできる。protectedメンバクラスメンバおよびフレンド関数加えてその派生クラスメンバからもアクセスできる。 オブジェクト指向では原則としてクラスメンバ変数アクセスする全ての関数クラス中にカプセル化されなければならないC++ではメンバ関数およびフレンド関数によりこれをサポートするが、強制はされないプログラマメンバ変数一部または全体publicとして定義でき、型とは無関係な変数public要素として定義できる。このことからC++オブジェクト指向だけでなく、モジュール化のような機能分割パラダイムサポートしているといえる一般的には全てのデータprivateまたはprotectedにして、クラスユーザ必要最小限関数のみをpublicとして公開することがよい習慣であると考えられている。このようにしてデータ実装の詳細隠蔽することにより、設計者インターフェイス変更することなく後日実装根本から変更できる

※この「カプセル化」の解説は、「C++」の解説の一部です。
「カプセル化」を含む「C++」の記事については、「C++」の概要を参照ください。

ウィキペディア小見出し辞書の「カプセル化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「カプセル化」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「カプセル化」の関連用語

カプセル化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



カプセル化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
アライドテレシス株式会社アライドテレシス株式会社
Copyright(c)2024 Allied Telesis K.K. All Rights Reserved.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリカプセル化の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのカプセル化 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのクラス (コンピュータ) (改訂履歴)、C++ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Text is available under Creative Commons Attribution-ShareAlike (CC-BY-SA) and/or GNU Free Documentation License (GFDL).
Weblioに掲載されている「Wiktionary日本語版(日本語カテゴリ)」の記事は、Wiktionaryのカプセル化 (改訂履歴)の記事を複製、再配布したものにあたり、Creative Commons Attribution-ShareAlike (CC-BY-SA)もしくはGNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS