継承
クラスは継承することができる
継承することでサブクラスを作ることができる
例
birdというクラスを考える
属性として、name, weightを持つ
メソッドとして、call, flyを持つ
ペンギンを考える
ペンギンはbirdクラスに属する
が、鳴き声が違う→callメソッドの内容が異なる
飛べない→flyメソッドが内容が異なる
泳げる→birdクラスに存在しないswimメソッドを持つ
同様にbirdクラスに属するオウムflyやcallメソッドの挙動が異なる
このとき、birdクラスを継承したpenguinやparrotというサブクラスを作る
挙動が違うメソッドをオーバーライドすることで書き換える
必要であれば新しいメソッドを加える
birdの属性やメソッドをすべて持つが、独自のメソッドや振る舞いを持つサブクラスを作ることができる