オブジェクト指向プログラミングを身につけるには

 オブジェクト指向プログラミング言語が生まれてからかなりの年月がたつ。それでもなお、オブジェクト指向についての話題に事欠かない。
 なぜか?
 それは、オブジェクト指向プログラミングができない人が多いからであり、できているのにできてないと思っている人が多いからであろう。
 地方出身である私は、コンピュータを学ぶにはひどく都合の悪い環境にあり、オブジェクト指向などは誰も教えてくれなかった。まだAT&T Releaseと呼ばれていたころのC++を独学で身につけていた学生のときなどは、逆に教官に教えてくれと言われたほどである。
 そんな私が考えるオブジェクト指向プログラミングを身につけるコツはズバリ「クラスを作って作って作りまくれ」これしかない。特に「業務をまったく考慮に入れずにユーティリティライブラリを作る」というのがおすすめである。私がC++の修行に明け暮れていたことは、STLC++の標準のクラスライブラリ)が未成熟で、可変長配列や連想配列は自作していた。CやC++には、文字列型というのが存在しないため、文字列クラスというのも自作した。こうやって私はオブジェクト指向プログラミングを徐々に身につけていったのである。
 ちなみに私がオブジェクト指向とはかくあるべきものかと悟りを開いたような気持ちになったのがエイトクイーン問題をC++で解いたときである。クィーンをオブジェクトとし、クィーン自身に「自分はどこに置けるか」を判定させる。これでオブジェクト指向の良さを悟ったのであった。ぜひ参考にしてほしい。