Effective Java プログラミング言語ガイド (1)

初級者から脱したいと思っている人のための、Java勉強本です。Javaで「良い」コードを書こうと思っている人なら一度は目を通しておいた方がいい良書です。Javaを普段使っている人なら座右においておきたい一冊。

まず、Javaオブジェクト指向に大きく影響するオブジェクト・クラス・インターフェースなどの話題。


Effective Java プログラミング言語ガイド

Effective Java プログラミング言語ガイド
Joshua Bloch (著)
ジョシュア・ブロック (著)
柴田 芳樹 (著)
¥ 2,730 (税込)


効率の良いオブジェクト生成

まず、最初はオブジェクト生成に関連する部分です。オブジェクト生成というのは、その構造上メモリを食う機構になっています。また、他のクラスの中で扱われるため、慎重に使うべきものです。そんなオブジェクトを効率よく作成する方法、他のオブジェクトからの制御を限定する方法なんかが述べられています。

オブジェクトの生成は何も new だけではない、というのが一番大事な部分でしょう。シングルトンの応用のstatic factoryメソッドなんかもあります。要はいろいろな生成法を学ぶことが大切。

共通メソッド

オブジェクト指向の一つのメリットはオーバーライドを使うことで、クラスのすべてではなく、変更点のみ変えればよい、という部分です。しかし、その便利さのためにはもちろん代償もあります。

他のオーバーライドしたサブクラスと一緒に使う場合は、その動作を保障するために、そのメソッドについてある一定の規則を満たさなくてはならないはずです。たとえば equals なら本当の「(数学的)イコール」とは何ぞやという部分。よく使うメソッドではそれを忘れがちになるので、しっかり契約を満たすべし。

雑多にクラスの使い方

本日最後はクラスの使い方いろいろという感じです。

不変クラス(StringとかIntegerとか)の特徴と、自分でもそういう普遍クラスを積極的に作っていくべしという話や、Javaオブジェクト指向部分でわかりにくい部分の一つが、この継承とインターフェースの使い分けの部分の話。継承とインターフェースの使い分けはよく悩まされる部分なので、一度しっかりと勉強しておくとよさげ。

NEXT

次はC言語と関連する部分・メソッド・その他と結構雑多なところです。