プログラミング学習を始めたばかりの方にとって、オブジェクト指向は一つの難関ではないでしょうか?
私もオブジェクト指向プログラミングを実践できるようになるまでとても苦労しました。
しかし、実践できるようになれば、自分の実現したい機能をプログラムで実現する能力が飛躍的に向上します。
そこで、今回はオブジェクト指向プログラミングを実践できるようになるまでの道のりを紹介しようと思います。
結論、
「オブジェクト指向で実装しないとうまく解けない問題を、自力で解くこと」
ができれば、オブジェクト指向をマスターするための大きなブレークスルーになります。
ステップ⓪:自分がオブジェクト指向でないことを知る
ステップ⓪は、経験できればその後の学習意欲につながります。
まずは自分が思うオブジェクト指向で書いたプログラムを上級者にレビューしてもらいましょう。
私は、こんな感じのやり取りになりました。

先輩、私のコード、どうですか?

う~ん、オブジェクティブじゃないんだよなぁ…
当時は、「オブジェクティブってなんやねん」と思いましたが、この言葉があったからこそオブジェクト指向を理解してやろうという気持ちになりました。
ステップ①:オブジェクト指向の概要を理解する
まずは、「オブジェクト指向とは?」を理解してください。
Webの無料記事を読んでみたり、参考書を買ってみても良いです。
私は参考書として、下記を全て読みました。
3冊も参考書を読めば、オブジェクト指向の概要はなんとなく理解できると思います。
しかし、
- 理解はできたけど、実践できない
- 理解はできたけど、どこで使えばよいのかわからない
- 理解はできたけど、しっくりは来ていない
という人が多いと思います。そんな人のためのステップ②です。
ステップ②:オブジェクト指向でないと解けない、良質な問題を解く
プログラミングの問題の中には、普通に実装すると難しいけど、オブジェクト指向で考えれば簡単に実装できる問題が存在します。
そんな問題に巡り合えればとってもラッキー!
自分で頭を捻って問題に取り組み、オブジェクト指向を使ってその問題が解けたとき、あなたの中でオブジェクト指向ブレークスルーが起きるでしょう。
私はpaizaというwebサービスのスキルチェックでどんどん問題を解いていきました。

私の中でオブジェクト指向ブレークスルーが起きた問題が、「S010:ひとりすごろく」でした。
※「S010:ひとりすごろく」は現在問題の提供を終了してしまったようです。
オブジェクト指向で考えないと、とても複雑なプログラムを書く必要があったのが、オブジェクト指向で考えることで、とても簡単な実装でその問題を解けるようになりました。
paizaのランクSやランクAの問題には、他にもオブジェクト指向で考えることで解決が容易になる問題があると思います。
そんな問題に遭遇するまで、paizaで問題を解いてみると良いかもしれません。
ステップ③:オブジェクト指向でプロダクトを実装しレビューする
オブジェクト指向の素晴らしさがわかったら、後はオブジェクト指向を本番で実践するのみです。
オブジェクト指向で書けたと思ったら、同僚にコードをレビューしてみましょう。
オブジェクト指向で書けていれば、自分のコードがとても説明しやすくなっているはずです。

先輩、私のコード、どうですか?

うん、とても分かりやすくてイイね!
こんな風な会話ができればあなたはもうオブジェクト指向になっています!
まとめ
オブジェクト指向を習得するまでのステップを紹介しました。
オブジェクト指向は理解するだけではダメで、オブジェクト指向の恩恵を受けたプログラムを書けるようになることが重要です。
オブジェクト指向でプログラムが書ければ、説明もしやすくなり、コーディングがもっとはかどるようになりますよ!
以上!
コメント