Ruby メソッド def self.XXXX のself ってなに?

Rubyのメソッドでself.XXXXという定義について簡単にご説明致します。

まず、def self.XXXX で定義されたメソッドはクラスメソッドといいます。

通常のdef XXXXで定義されたメソッドはインスタンスメソッドです。

使い方の違いは以下のとおりです。

# クラスメソッド
class Test1
    def self.test1
        puts 'test1'
    end
end

Test1.test1
# => test1

# インスタンスメソッド
class Test2
    def test2
        puts 'test2'
    end
end

Test2.new.test2
# => test2

クラスメソッドの場合は、クラス生成せずに使えます。
インスタンスメソッドの場合は、クラス生成後にメソッド実行が必要です。

クラスメソッドとインスタンスメソッドの違いについては次回書きたいと思います(*^^*)

何か参考になれば幸いです(*^^*)