何故オブジェクト指向が必要なんですか?
と言う問いに対して
「オブジェクト指向を使うとコードの再利用が行えるから」
と回答した場合の反論を想定してみました。
「C言語などでも関数を使用することによってコードの再利用は行えると思いますが、オブジェクト指向での再利用と関数での再利用はどう違うのですか?」
「オブジェクト指向での再利用と関数での再利用はそこまで変わらないと思いますが、オブジェクト指向での再利用は再利用の行いやすさにあると思います。」
「例えば?」
「例えば、クラスという設計ができクラスはそれぞれ役割があります。その役割を再利用するのです。」
「各オブジェクトの仕組みを使うと言うことですね。」
「はい。そうです」
このような感じでどうでしょうか?
ちなみに、オブジェクト指向って言語に依存するけど・・・しないとも言える。
例えば、C言語でオブジェクト指向設計は出来ないのか?と言われると・・・
結論としてはオブジェクト指向設計は出来る。
C言語には構造体とポインタという強力な武器があるため、擬似クラス設計や擬似ポリモーフィズムが出来る。(*1)
しかし、これを実現するためには同じ思想をもっていて、高いスキルが必要不可欠だろう・・・。
------------------------------------------------
*1・・・実際に「日経ソフトウェア」の連載で行っている。


