特異クラスとはとあるオブジェクトのために、用意されるクラスである。
ただ、Rubyにとっては、classもオブジェクトであるため、classメソッドを定義するためには
class(というオブジェクト)の特異クラスに対してmethodを定義する必要がある。
特異メソッドを定義する際に表記されるselfとは自分自身のクラス(オブジェクト)を指す。
"class << self" の表記は自分自身のクラス(オブジェクト)の特異クラスについて定義することを指す。
More than 5 years have passed since last update.
特異クラスとはとあるオブジェクトのために、用意されるクラスである。
ただ、Rubyにとっては、classもオブジェクトであるため、classメソッドを定義するためには
class(というオブジェクト)の特異クラスに対してmethodを定義する必要がある。
特異メソッドを定義する際に表記されるselfとは自分自身のクラス(オブジェクト)を指す。
"class << self" の表記は自分自身のクラス(オブジェクト)の特異クラスについて定義することを指す。
Register as a new user and use Qiita more conveniently