さて、Javaのオブジェクト指向ってやつは、どうもピンとこない。わかったようで、実際はやっぱ分かってない。
僕は貧乏してるので、Javaの本は図書館から借りてくる。だからこそ、何冊もいろいろなJavaの本を読むことができる。たぶんJavaの本を買う人でもせいぜい1〜2冊しか買うまい。変な話、貧乏な僕こそ、たくさんのJavaの本を読めるということなのだ。図書館をはしごするのだ。わはは。
さて、Javaは分かりにくいのだといことを前提にして、やっとオブジェクト指向ってのが見えてきた。
既存のプログラム言語、たとえばC言語を代表してみやしょう。
このとき、ライブラリ関数をコールするのは、プログラムを書いている僕ちんであります。printfもexecもこれを呼ぶのは僕ちんであります。
さて、Javaの場合は、こう考えるのであります。
Javaの場合、これらのものはメソッドと呼ばれるのです。
そして、このメソッドというものはオブジェクトに附属する手足にすぎないのであります。
したがって、メソッドを呼ぶのは、その主体たるオブジェクトでなければならないのであります。だから、メソッドを呼ぶのは僕ちんではなく、オブジェクトなのでありますな。
String str;
str = new String("Hellow World !");
strはStringクラスに属して、その実体が"Hellow
World !"でありますと。
だからstrのできることは、Stringクラスのメソッドに限られると。
(Javaがその厳格さを貫徹していたら、もうすこし分かりやすかったに違いない。
しかし、さすがにそれはコーディングに骨がおれると考えたのか、ときどきなんか、都合よく省略しちまってるんらしいんですなぁ。これが初心者には余計に分かりづらくしてる原因だと、僕ちんは思うでげすな。)
objective=目的格ならば、ニュアンスとしてはどこかに主格が隠されてる訳で。
オブジェクト指向というよりもオブジェクト主体ととらえたほうがいいかもね。
人間主体じゃあないんだね。
けれど、マルチスレッドというのを実現するにはいい考え方のよぅーだに。
プロセスAがどうするこうするってのが、明確になるので。
まちがってはないと思うんだけど、どうでげしょ。
でも、そんなJavaにもいいところをみつけたぞぉ。
どうもポインターというのがないせいか、try-catch文のおかげか、とんでもないところのメモリーをぶっこわしつつ走るという心配はなさそうだなぁ。これはスンゴクいいかも。