I'm following railstutorial by Michael Hartl. In [chapter 8.2.2](https://www.railstutorial.org/book/log_in_log_out#sec-current_user) he defines a variable `@current_user` and a method `current_user`.

app/helpers/sessions\_helper.rb looks like this:

```
module SessionsHelper

  # Logs in the given user.
  def log_in(user)
    session[:user_id] = user.id
  end

  # Returns the current logged-in user (if any).
  def current_user
    @current_user ||= User.find_by(id: session[:user_id])
  end

end

```

Hartl defines @current\_user an instance variable (of User object I guess); How can @current\_user be an instance variable if it is itself an instance of the User class?