ある程度クラスの利用に慣れたら
自分でクラスの設計をしてみましょう

この時に、「どのようにクラスを設計したらいいんだろう?」
と思い悩むでしょう。

具体的な処理面から言えばクラスとは「複数の関数とデータが合わさったもの」です
しかしここでクラスというものを抽象的に考えると
「一定の処理をするモノ」とみなすことができます
その「モノ」をオブジェクトと呼ぶことにしましょう

ここから抽象論が始まります。
「オブジェクトに何をさせたいのか?」
「オブジェクトに何を伝えるのか?」
「オブジェクトは何を知ってるのか?」
このような抽象的問いを実際の具体的なクラスの構造に落とし込む過程こそが
「オブジェクト指向」なのです

オブジェクト指向プログラミングで最も大切なことは
具体的思考と抽象的思考の両面から思考することです