クラスメソッドの定義 Rubyでクラスメソッド(=クラスオブジェクトの特異メソッド)を定義するには、いくつかの方法があります。 たとえば、Hoge クラスオブジェクトに hoge() メソッドを定義する場合、 1. クラス定義内でクラスオブジェクトに特異メソッドを定義 class Hoge def self.hoge() end end 2. クラス定義内で特異クラスに対してメソッドを定義 class Hoge class << self def hoge() end end end 3. クラス定義外でクラスオブジェクトに特異メソッドを定義 class Hoge end def Hoge.hoge() end 4. クラス定義外で特異クラスに対してメソッドを定義 class Hoge end class << Hoge def hoge() end end いずれも外部から Hoge.h