インスタンスの難しさを思い出す

今まで何十回(さすがに何百回とまではいきませんが)もJavaの研修をしていますが、いつも思うのが「インスタンス」の概念を理解してもらうことの難しさです。もちろん、自分の教える技術の不足が大きいとは思うのですが。

そういえば自分が学習したときを振り返ってみると、大学時代に独学でJavaを勉強していたときに、最初の壁になったのはやはりインスタンスの概念でした。大学の講義でC言語は知っていたので、文法体型の基本は、特に悩むことなく習得できましたが、インスタンスの概念はCにはなく、苦労しました。周囲にもJavaを良く知っている人はいない状況でしたので、基本的には自分で解決するしかなかったのです。

インスタンスの概念が理解できなかった私は、最初全てにstaticをつけてプログラムを書いていました。当時学生だった私は、卒業研究で使うプログラムをJavaで書いていました。どうしてもダメなら、Cで書けばいいという気持ちもありましたし、時間的な猶予も多かったので、割と気楽だったように思います。実際、インスタンスを使わなくても、しばらくはそれでも何とかなったのです。

しかしだんだん、インスタンスなしでプログラムを書くのが窮屈になってきました。インスタンスの概念がないと、Javaのいろいろな機能がまともに使えないのです。簡単なAPIを使うにも、インスタンス化が必要なものが多いので、当然なのですが。

私の場合、ある1冊の書籍との出会いが契機になりました。残念ながら現在は絶版になっているようなのですが、確か「図解Java流オブジェクト指向」というような題名の本だったと思います。これを読んで、なんとなくオブジェクト指向のイメージがおぼろげに分かってきたのです。そして、ある日突然、何かの回路がつながったかのごとく、突然オブジェクト指向の考え方がスイスイ飲み込めるようになってきました。なんでしょうか、他に例えるなら「悟りが開ける」ような心境とはこういうことなのかな?と思ったのが強く印象に残っています。

今思えば、私などは時間に余裕があったので、こんな悠長な学習ができたわけです。ですが、業務でJavaを習得しないといけない方は、限られた時間で確実に使えるようにしていくことが求められます。本当に大変なことだと思います。自分もプロとして、もっともっと効率よく、効果的に理解していただけるような研修を提供できるよう精進したいと思っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です