Rubyのインスタンスメソッドの整理です。
インスタンスメソッドとクラスメソッドの違い
インスタンスメソッド

インスタンスメソッドでは、「User」クラスからインスタンスを作成し、user_instanceという変数に代入します。(変数の名前は自分が分かりやすい名前であればなんでも良い。)
そして作成したインスタンスからメソッドを呼び出しています。
インスタンスメソッドは、インスタンスに対して呼び出すので、インスタンスが作成されていなければなりません。
クラスメソッド

selfまたはクラスの名前(上記であればUser)をつけてメソッドを定義することで、クラスからメソッドを呼び出すことができます。
インスタンスを作らなくても呼び出せます。
selfをつけないで、クラスからそのまま呼び出そうとすると、エラーになります。