¿Por qué utilizar variables de instancia para "conectar" controladores con vistas?

Esta es una pregunta conceptual y no he podido encontrar la respuesta en SO, así que aquí voy:

¿Por qué las variables de instancia se utilizan para conectar controladores y vistas? ¿No tenemos dos objetos diferentes de dos clases diferentes (Controlador vs Vistas). Entonces, cuando se representa la vista, estamos en un contexto diferente, pero ¿estamos usando variables de instancia de otro objeto? ¿No es esta ruptura de encapsulación de alguna manera?

¿Cómo logra Rails hacer esa correspondencia de un objeto a otro? ¿Clona todas las variables de instancias del controlador a la vista?

Respuestas a la pregunta(4)

Su respuesta a la pregunta