¿Qué es mejor la matriz stdClass o (objeto) para almacenar datos relacionados?

He estado utilizando matrices para almacenar campos relacionados durante mucho tiempo. Si quisiera tener campos de usuario relacionados, usé:

$user = array(
   'id' => 27
   'name' => 'Pepe'
);

Pero últimamente, he estado trabajando mucho con objetos, y me gusta más usar $ user-> id en lugar de $ user ['id'].

Mi pregunta: para lograr un estilo orientado a objetos, puede usar stdClass:

$user = new stdClass();
$user->id = 27;
$user->name = 'Pepe';

o casting desde una matriz

$user = (object) array(
  'id' => 27
, 'name' => 'Pepe'
);

¿Es uno de ellos mejor que el otro, en orden de desempeño y estilo, o puede usar lo que quiera indistintamente?

¡Gracias!

Actualizar: Estoy de acuerdo con todos los comentarios, esto no es OOP en absoluto, solo se trata de tener datos relacionados agrupados en una estructura. Mi ejemplo de $ usuario no es el mejor, porque es un ejemplo típico de uso de clases con método, propiedades, blablabla ... Pregunté porque tengo muchas estructuras de configuración, como "initTable", y quiero algo como:

$table => page => init => 1
               => end  => 25
          sort => field => name
               => order => asc

y así sucesivamente, y quiero saber qué es lo mejor para obtener la página de inicio:

$table->page->init **OR** $table['page']['init']

Respuestas a la pregunta(3)

Su respuesta a la pregunta