オブジェクト

【クラス、オブジェクト、インスタンス、メソッド】


【クラス、オブジェクト、インスタンス、メソッド】

クラス、オブジェクト、インスタンス、メソッドの理解が出来ていないので、まとめてみました。

誤りがあればご指摘よろしくお願い致しますm(__)m

【クラス、オブジェクト、インスタンス、メソッド】

クラスは型。オブジェクトを量産するための設計図。

オブジェクトはモノという概念。オブジェクトはクラスを元に作られる。

クラスから作られるオブジェクトがインスタンス。

インスタンスはメソッドを使うことで、色んな振る舞いが出来る。

メソッドは「自身の名前を表示する、自身の文字列の長さを返す」などが出来、クラスに定義することで使用可能になる。

メソッドを定義する場所はクラスであり、インスタンスに対してではない。

作成したインスタンスに対してメソッドを使うには、左辺と右辺を「.」ドットで繋ぐ、ドット記法を用いる。

User.new.name

といった感じ。

この時、User.newかcreateで先にインスタンスを作って、クラスにnameメソッドを定義していないとnameで名前を呼び出せない。

undefined method `name' for nil:NilClass

というエラーが出る。

nil(何もない状態)に対してnameというメソッドは使えないよというエラー。

まずはインスタンスの作成と、メソッドの定義をする必要がある。