オブジェクト指向を身に付ける

結城浩

質問

結城さん、いつもためになる日記をありがとうございます。 質問があってメールしました。

結城さんはオブジェクト指向をどうやって勉強しましたか。 オブジェクト指向を身に付けるにはどうしたらいいんでしょう。 どんな本を読めばいいですか。

回答

(ここでは、オブジェクト指向プログラミングに限定してお話します)

結城は、オブジェクト指向プログラミングを、 C++とSmalltalk-80の本を読んで勉強したように記憶しています。 学生時代でした。 そのとき「オブジェクト指向というのは『オブジェクトが偉い』という方法論」 だということは知っていましたけれど、 実際に「ふんふん、そういうことか」と分かったのは、 Bjarne StroustrupによるC++の本を読んで、 自分でプログラムを書いてからだと思います。 メンバ変数とメンバ関数を定義してクラスを作り、 インスタンスを作り…そういう体験を通して、 次第次第に、自分の中にオブジェクト指向のキーワードが 具体的なイメージを伴なうようになっていったと思います。

オブジェクト指向の用語って小難しいじゃないですか。 クラス、インスタンス、インヘリタンス、ポリモルフィズムなどなど。 その表面上の難しさに惑わされず、プログラムを通して納得して理解することは大事だと思います。

以下は半分余談です。

はっきり言えるのは「これを読みさえすればすぐ身につく」という参考書はない、 ということです。参考書はいつもきっかけに過ぎません。 自転車乗りや水泳と同じで、 必ず「自分で考え、自分でやってみる」というプロセスが必要です。 あなたが 「オブジェクト指向を学ぶための魔法の本がどこかにあって、 それを手に入れて読みさえすれば、オブジェクト指向が身につく」 と万一(心のどこかで)思っているなら、 それは誤っています。 それなりに時間と期間をかけて、自分の頭と手を動かして、 1つ1つ地道に学んでいくのが結局は早道なのです。 よい参考書はそれをほんの少し手助けするに過ぎません。 …そして、それは、オブジェクト指向に限らず、学ぶこと全般に言えることです。

応援していますね!

(2001年11月19日の日記から)

豊かな人生のための四つの法則