En un capítulo anterior se trató brevemente las variables instancia, pero no se hizo mucho con ellas. Las variables instancia de un objeto son sus atributos, eso que diferencia a un objeto de otro dentro de la misma clase. Es importante poder modificar y leer estos atributos; lo que supone definir métodos denominados accesores de atributos. Veremos en un momento que no siempre hay que definir los métodos accesores explícitamente, pero vayamos paso a paso. Los dos tipos de accesores son los de escritura y los de lectura.
| 
ruby> class Fruta
ruby|   def set_kind(k) # escritor
ruby|     @kind = k
ruby|   end
ruby|   def get_kind    # lector
ruby|     @kind
ruby|   end
ruby| end
nilx
ruby> f1 = Fruta.new
#<Fruta:0x401c4410>
ruby> f1.set_kind("melocotón")      #utilizamos el escritor
"melocotón"
ruby> f1.get_kind               #utilizamos el lector
"melocotón"
ruby> f1                        #inspeccionamos el objeto
#<Fruta:0x401c4410  @kind="melocotón">
 |