Javaのオブジェクト指向がゼッタイにわかる本―最初からそう教えてくれればいいのに!

Javaのオブジェクト指向がゼッタイにわかる本

Javaのオブジェクト指向がゼッタイにわかる本

 なげーよ名前が(笑)。


 立ち読み*斜め読みしたので評価はできないのだが、ちょっと面白い記事を見つけた。
 P107のコラム「new()がいらないメソッドは他にもある。」で、

main()の他にもnew()をしなくても動作するメソッドがある
staticをつけるとオブジェクトを作らなくても動作する
それがクラスメソッドだ

 というような事を言っていた(うろ覚え)。
 これはBASICから来た俺とは正反対の感覚で、面白かった。


 何が「反対」なのかと言うと、この本ではオブジェクト(クラスのインスタンス)が主な考察対象で、staticなものはオマケのような感覚で紹介されているということだ。


 そもそも俺にとってプログラムとは”実行を開始すれば勝手に動作を始めるもの”、という固定概念がある。だから俺にとってのJavaプログラムの核心はまず最初に動作を始めるmain()メソッドであり、インスタンス生成時にそれが欠落してしまうオブジェクトなど不完全な二次生成物に過ぎない。(run()メソッドがあるスレッドインスタンス等は別)。例えクラスであっても、main()メソッドを持たないクラスなどデータファイル扱いである。


 しかし良く考えてみれば、インスタンスが無印なのに対してクラス(このブログで言うところのジェネラル)に属するものには全てstaticを付けねばならないのだから、Javaの基本思想はインスタンスを主としていることは明白なんだよな。今日はそのことに気づいたということで。


 気づいたからと言って考えが改まるかと言うと、それはまた別のお話・・・。