- カプセル化(中身の隠蔽)
データ構造の中身を隠蔽し、データ操作に必要な情報のみを外部に提供し、1つにまとめて持たせること。
- DataPlay?クラスは、Sampleクラスの中に、
ansという変数があり、Calcというメソッドを使って計算しているということを
知らなくても、setQで値を設定し、getAで値を取得出来る
ということを知っていれば、Sampleクラスを利用できる。
- インヘリタンス(継承)
あるクラス(オブジェクト)があるクラス(オブジェクト)の特性を引き継ぐこと。
- Parentクラスにメソッド oyaMethodが定義されている場合
継承したChildクラスはoyaMethodを定義しなくても、
メソッドを使用することが出来る。
- ポリモーフィズム(多様性)
メッセージの送信側(メソッドの呼出側)とメッセージの受信側(メソッド側)が動的に決まること。
- 生成するオブジュクトによって、どのthisNameメソッドを使うかを判断する。
※継承したクラスと同名のメソッドをサブクラスに定義することをオーバーライドの関係にあるメソッドという。
- thisNameメソッドは引数違いで、用意されておりどのthisNameメソッドを使うかは、呼び出し元の引数で決定する。
※同名で、異なる引数を持つメソッドをオーバーロードの関係にあるメソッドという。