nombrando métodos como variables métodos de llamada Ruby

hola soy mucho un principiante

Creo que entiendo cómo funciona el attr_accessor (abajo). y el "setter" es elname=(name) método. y sé que ese método es equivalente a la asignación:name = "john". porque "=" es un método que acepta un argumento y asigna ese argumento a cualquier objeto que lo llame. (aunque no entiendo cómo "nombre" podría considerarse un objeto, ya que se asigna a un objeto)

entonces mi pregunta es: ¿Cómo se puede asignar una variable llamando a un método como nombre de método? Se siente como si me estuviera perdiendo algo ...

class Person
  def name
    @name
  end

  def name=(name)
    @name = name
  end
end

Respuestas a la pregunta(1)

Su respuesta a la pregunta