オブジェクト指向の三代要素が、クラス(カプセル化), ポリモーフィズム, 継承の三つ

クラス(カプセル化)

クラスの対になるのがインスタンス。

クラス → 「同種のものの集まり」

インスタンス → 「具体的なもの」

// 犬クラスの定義
class Dog {
	String name;
	Dog (String name){
		this.name = name;
	}
	String cry(){
		return "ワン!";
	}
}

ポリモーフィズム

ポリモーフィズムとはいろいろな形に変わるという意味で、

「類似したクラスに対するメッセージの送り方を共通にする仕組み」

継承

継承は「物の種類の共通点と相違点を体系的に整理する仕組み」

オブジェクト指向では全体集合をスーパクラス

部分集合をサブクラスという

オブジェクト指向と現実世界は似て非なるもの

犬を例にすると、クラス → 犬, インスタンス → ポチ になる

しかし、犬が生まれるのはメス犬が出産するからで、犬クラスから生まれるわけではない

オブジェクト指向と現実世界では、クラスの位置付けが違う

オブジェクト指向では