superは上位クラスの同名メソッドを呼び出すメソッドです。
これと、extendを組み合わせると、
極々たまにしか使わないけど凄く似てるメソッド
の切り分けができます
module Announce def next; "Next :: " << super << " !!"; end end => :next
必要なときはextendでmoduleを呼び出して使います
"Hoge".extend(Announce).next #=> "Next :: Hogf !!"
extendをつけなければ、この通り変化はありません。
"Hoge".next => "Hogf"