はじめに
インスタンス生成後のクラスにメソッドを追加し、メソッドが追加される前に生成されたインスタンスから参照できるのかやってみます。
実行してみる
class Myclass
end
my = Myclass.new
class Myclass
def hello
puts "こんにちは。"
end
end
my.hello #=>"こんにちは"
結果
できます。
理由
生成したインスタンスの中には、「クラスへの参照」と「インスタンス変数」があるだけで、メソッドは含まれていません。クラスを共有しているインスタンスはメソッドも共有していて、メソッドはインスタンスではなくクラスにあるので、実行できました。