Rubyのクラスメソッドとインスタンスメソッドの違い
Rubyのクラスメソッドとインスタンスメソッドの違い
クラスメソッド
① メソッド名の前にself.を付与する
code:ruby
class MyClass
def self.myclass_method
end
end
② class << selfからendの間にメソッドを書く
code:ruby
class MyClass
class << self
def myclass_method
end
end
end
クラスメソッドを呼び出す場合
code:ruby
クラス名.メソッド名
メソッド名の表記法
code:ruby
クラス名::メソッド名
インスタンスメソッド
クラス構文の内部でメソッドを定義すると、インスタンスメソッドとなる
インスタンスメソッドは、そのクラスのインスタンスに対して呼び出すことができるメソッド
Rubyだとメソッドを呼び出すときに、かっこなしで呼び出すことができる
Rubyだと、selfキーワードについて、明示的につけても、省略してもよい
メソッドの内部では、ほかのメソッドを呼び出す場合は暗黙的にselfに対してメソッドを呼び出している。