はじめに
※以下の内容には誤りが含まれる可能性があります
特異メソッドとは何か
Rubyにおける特異メソッドは、特定のオブジェクトだけが持つ独自のメソッドです。
要するに、そのメソッドは定義したオブジェクトに対してのみ使用可能で、他のオブジェクトでは使用できないということです。
特異メソッドの書き方
str = "hello"
def str.greet
puts"Hello,world!"
end
str.greet #=> Hello,world!
ここで"greet"メソッドは"str"オブジェクトに対してのみ定義されているので他の文字列オブジェクトではこのメソッドは使用できません。
まとめ
Rubyの特異メソッドは強力なツール。
ですが使用には慎重になるべきです。
特異メソッドは定義したオブジェクトに対してのみ存在し、他の同じクラスのオブジェクトには影響を与えない。
つまり、同じクラスの異なるオブジェクトに対して同じ動作を
期待する場合、それぞれのオブジェクトに対して特異メソッドを定義する必要があります。
こうなると、コードの量が増え、保守性が下がる可能性があるため注意が必要です。