Rubyの特異クラスは以下のように書きます。 class <<obj # ... end ここで、"<< obj"という構文で、特異メソッドを定義するために「objという特定のインスタンスに固有なクラス」を仮想的に指定しています。これが特異クラスです。 ところで、どうして "<< obj"という構文なのだろう? というのが疑問です。いや、もちろんただの構文といえば構文なのですが、ここで不等号をこういう風に使う積極的な理由がよくわからなかったのです。 たとえば、Rubyでは、クラスの継承関係は"Child < Parent"と表現しますね。そうすると、不等号の開いているほうが継承関係でルートに近い。 継承関係と、クラス・インスタンスの関係は別なので、継承関係は "<" で、クラス・インスタンスの関係は "<<" で表現することにすると、"特異クラス << インスタンス" よりも "インスタン