見出し画像

どうしてオブジェクトをオブジェクトと呼ぶのか?

まず、構造型があった。
人間(ユーザ)と情報(データ)があって、人間は情報を操作する、という単純な考え方だ。
この情報の管理がすごく大変だった。
全ての情報を、操作する側の人間が知っておかないといけなかった。

そこで登場したのがオブジェクト指向というパラダイムだ。
情報を持ったオブジェクトがその情報によって自分自身の振る舞いを変えることで、人間はオブジェクトの使い方とそれが生み出す結果だけを知っておくだけで済む。

つまり、人間自身とは違う、振る舞いの「主体」を用意することにした。
これを人間とは別にある振る舞いの主体、即ち「オブジェクト(客体)」と呼ぶ。

このパラダイムでは、人間が全ての情報を把握しなくても、それぞれのオブジェクトがそれぞれに必要な情報を持っていて、人間はオブジェクトに振る舞いを指示するだけでよい。
例えば、ペンで「線を引く」ためには「インクの材料」とか「ペンを押し出すスプリングの有無」あるいは「持ち手の材質」といった情報を知らずとも、「ペン先を露出させて、紙に押し付ける」ことだけ知っていれば済むのだ。
人間が「ペン先を露出させて、紙に押し付ける」ことを知っていれば、ペンは「インクの材料」や「持ち手の材質」などによって結果を変える。ペンを選べば、それだけで結果が変わる。

しかし、オブジェクトに任せることで人間は間接的に結果を操作しないといけなくなり、それが不便だった。
そこから脱するために再発掘されたのが、機能型(関数型)というパラダイムだ。
もはや開発者はペンを選んだり、使い方を覚えたりしなくても、「太くて黒い線をこのくらい引きたい」「細くて赤い線をこのくらい引きたい」と思えばそのような結果を得られるようになった。

人は神になった。

この記事が気に入ったらサポートをしてみませんか?