【正解の解説】
カプセル化
カプセル化は、薬のカプセルのように苦い中身を外から見えないように包み込む仕組みです。テレビのリモコンを想像してください。内部の複雑な配線が見えなくても、表面のボタン(インターフェース)を押すだけで安全にチャンネルを変えられますよね。これと同じで、プログラムの内部データ勝手に書き換えられないよう保護し、決められた窓口からだけ操作させることで、バグを防ぎ安全なコードを作ることができます。
【その他の選択肢の解説】
継承
継承は、親の持つ機能や特徴をそのまま子どもが引き継ぎ、さらに新しい機能を追加してパワーアップさせる仕組みです。例えば、「動物」という基本の設計図から「犬」や「猫」という具体的な機能を持つ設計図を効率よく作る際に使います。内部データを隠すカプセル化とは目的が異なり、コードの「使い回し」を主目的としているため、初学者は機能の隠蔽と混同しないよう注意が必要です。
多態性
多態性(ポリモーフィズム)は、例えば「鳴け」という同じ命令を出しても、相手が犬なら「ワン」、猫なら「ニャー」とそれぞれの性質に合わせて自動的に振る舞いが変わる仕組みです。データや実装を外部から隠してアクセスを制限するカプセル化とは役割が異なり、多様なオブジェクトを共通の指示でスムーズに動かすための機能なので、用語の定義を正確に区別して覚える必要があります。
抽象化
抽象化は、複雑な現実世界からプログラミングに必要な要素だけを抽出して共通モデルを作る仕組みです。例えば、人間や車など膨大な情報を持つ実体から、システムで使う名前や年齢といったデータだけを取り出す作業を指します。データを隠すカプセル化とは異なり、本質を見えやすくするために「情報をそぎ落とす」作業なので、隠蔽という言葉が出てきたらカプセル化を選ぶようにしましょう。