オブジェクトの分類

即値と参照:基本的/本質的だと思うから再論 - 檜山正幸のキマイラ飼育記 (はてなBlog)にて、ミュータビリティという概念の大切さを知ったので、もっと詳しく調べたことをノート。

アイデンティティを観点とした、オブジェクトの分類と設計方法

  • 分類:「値」
    • 特性:その内容にアイデンティティを持つオブジェクト
    • 設計:Mutableな設計も可能だが、Immutableに設計した方がお得。
  • 分類:「(狭義の)オブジェクト」
    • 特性:その存在にアイデンティティを持つオブジェクト
    • 設計:Mutableな設計しかできない。

まつもとゆきひろさんはMatzにっき(2003-08-07)にて、上記の「(狭義の)オブジェクト」+「ポリモルフィズム」こそが『オブジェクト指向の真髄』であると説いている。なるほどなるほど。

また、「(狭義の)オブジェクト」を言語環境上から取り去り、「値」だけの世界にすることでImmutableのお得さをフルに享受できるようにした言語が、『純粋関数型言語』となるのかな?