カプセル化って

オブジェクト指向を理解していない人にカプセル化の利点を説明するのって結構骨が折れる。オブジェクト指向の3つの最重要ポイント(カプセル化・継承・ポリモーフィズム)の中では一番簡単に理解出来るものだと思ってたのだが。

  1. 内部のデータ構造が変更になったときの影響が最小限で済む
  2. オブジェクトの状態が外部から勝手に変えられるのを防ぐ

こんなことを具体例を出しながら説明してみた。人にわかりやすく説明しようとする時って、自分がそのことを100%理解しているのかどうかが分かって、かなりいい勉強になるね。