カプセル化を実現するためには、「アクセス修飾子」と呼ばれる仕組みを利用します。代表的なものに、クラスの外部から全くアクセスできないようにする「private(非公開)」、どこからでも自由にアクセスできる「public(公開)」、そして継承した子クラスからのみアクセスを許可する「protected(保護)」があります。一般的に、オブジェクト指向のベストプラクティスとしては、クラスが持つデータ(属性・フィールド)はすべて「private」にして外部から隠蔽し、そのデータにアクセスしたり値を変更したりするための専用のメソッド(ゲッターとセッターと呼ばれます)だけを「public」として公開します。このように設計することで、例えば「年齢というデータにマイナスの数値がセットされようとしたらエラーを返す」といった入力チェックのロジックを、セッターメソッドの中に確実に組み込むことができ、オブジェクトが常に正しい状態を保つことを保証できるようになります。これは「情報隠蔽」とも呼ばれ、大規模開発において予期せぬバグの連鎖を防ぐための極めて重要な防波堤となります。