カプセル化とは?かぷせるか
カプセル化とは、属性(データ)とそれを扱うメソッド(手続き)を1つのオブジェクトに束ね、外部からの読み書きをメソッド経由に限定すること。内部の持ち方が外から見えなくなるので、実装を変えても呼び出し側を直さずに済み、想定外の値が入ることも防げる。
最終更新:2026-10-09
この語が出る過去問を解く →背景
手続き型では共通のデータを複数の関数が自由に書き換えられ、値がおかしくなったときに原因の箇所を特定できなかった。触れる経路を1本に絞れば、不正な値が入りうる場所も、直すべき場所も、そのクラスの中だけに閉じる。オブジェクト指向設計の出発点なので、継承(既存のクラスの性質を引き継ぐこと)や多相性(同じ呼び出しでもクラスごとに違う動きをすること)より先に問われる。
具体例
学生の成績を表すクラス(データと処理をまとめたオブジェクトの設計図)で、点数を入れておくデータを外から直接書き換えさせず、「点数を登録する」メソッドを通してだけ変えられるようにする。登録のメソッドの中で0〜100点の範囲かを確かめておけば、「120点」のような想定外の値は構造的に入らない。
試験での引っ掛け
「1つにまとめること」だけでは答えにならず、外部からの参照経路を絞るところまでが定義。オブジェクトが持つすべてのデータに、値を読むだけのメソッド(getter)と書き換えるメソッド(setter)を機械的に付けると外から自由に書き換えられ、隠蔽の効果は消える。情報隠蔽が考え方、カプセル化がそれを実現する仕組み、という関係も押さえる。
関連用語
出た過去問
出典:平成28年度 秋期 基本情報技術者試験 午前 問47(IPA)
オブジェクト指向におけるカプセル化を説明したものはどれか。
正解:データとそれを操作する手続を一つのオブジェクトにして,データと手続の詳細をオブジェクトの外部から隠蔽すること
要点:カプセル化はデータと操作をまとめ内部実装を隠す
カプセル化は、データとそれを操作する手続を一つのオブジェクトにまとめ、内部の実装を外部から見えないようにする仕組みである。外部は公開された操作を通じてのみアクセスできるため、内部構造を変えても利用側に影響が及びにくい。抽象化や継承、汎化とは別の概念である。
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問38(IPA)
オブジェクト指向プログラムにおいて、データとメソッドを一つにまとめ、オブジェクトの実装の詳細をユーザから見えなくすることを何と呼ぶか。
正解:カプセル化
要点:カプセル化はデータと手続きをまとめて実装を隠すこと
カプセル化は、データとそれを操作する手続きを一つのまとまりとして扱い、内部の実装を外部から隠す考え方である。利用者は公開された手続きを通してのみ操作するため、内部の作りを変えても外部に影響が及びにくく、保守性が高まる。
出典・参考
公式シラバスの4 開発技術 > 2. 設計 > (9) ソフトウェア設計手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。