dev/mom0tomo

技術メモ

インスタンスメソッドとクラスメソッドの違い

読んだもの

qiita.com

学んだこと

あるclass(仮に C とする)があるとして、

  • class C のインスタンスメソッドは,C のインスタンスをレシーバーとするメソッド
  • class C のクラスメソッドは C 自身をレシーバーとするメソッド

である。

違いはこんな感じ。

インスタンスメソッド

class Add
    def addition(a, b, c, d, e)
        puts a + b + c + d + e
    end
end

add = Add.new() # インスタンスを呼び出している
add.addition(1,2,3,4,5)

クラスメソッド

class Add
    def self.addition(a, b, c, d, e)
        puts a + b + c + d + e
    end
end

Add.addition(1,2,3,4,5)

(コードは上記参照先から抜粋)