・オーバーライド
・final修飾子がついたメソッドは変更不可のため、オーバーライドできない。
・オーバーライドするメソッドのアクセス修飾子に注意。継承元より、厳しくできない。
・オーバーライドされるのはメソッドのみ。変数はオーバーライドされない。インスタンス変数はインスタンス毎に管理される。
例)Aを継承するBをインスタンス化した場合、各A、Bの中で管理。
・staticメソッドにオーバーライドという概念はない。クラス名+メソッド名で識別されるので、クラスで区別される。
・コンストラクタ
・引数有りコンストラクタを記述した場合、明示的にデフォルトコンストラクタの記述が必要
・finalizer
・GCから呼び出し。任意のクラスからの呼び出しも可能。
・クラス間の関係
・is-a(汎化)
・二つのクラス間で親子(スーパークラスis a サブクラス)関係が成り立つ関係。
・has-a(集約)
・クラス内に他クラスを所有(Aクラス has a Bクラス)する関係。
・InstanceOf
・クラス間の関係を判定する。
・String型インスタンス InstanceOf Objectはtrue(String is a Object)
・String型インスタンス InstanceOb Integerはコンパイルエラー(継承関係のないInstanceOfは記述できない。)
・カプセル化
・データをクラス内部において、データの読み書きを行う操作と一体化すること。
・外部からのアクセス制限。公開メソッドで操作。seter、geter。
・データや内部で利用する操作を非公開にすることを情報の隠蔽という。
・粗結合と高い凝縮度
・オブジェクト指向の目的は再利用。
・クラス間の結合度を弱くする。(粗結合)
・クラスは目的を絞り、専門性を持たす。(高い凝縮度)
・ポリモーフィズム
・継承の上になりたつ。オーバーライド等、同じ名前で異なる操作が可能。
この振る舞いが多態性。
・インターフェイス
・メソッドは暗黙的にpublic abstract
・変数は暗黙的にpublic static final
徹底攻略Oracle認定JavaプログラマSE 5/6教科書 (ITプロ/ITエンジニアのための徹底攻略)
徹底攻略Oracle認定JavaプログラマSE 6問題集 [CX-310-065]対応 (ITプロ/ITエンジニアのための徹底攻略)