Ola,
Por que precisamos definir o tipo da variavel de referencia igual a classe sendo instanciada ?
Por exemplo: Pessoa pessoa = new Pessoa();
Por que pessoa precisa ser do tipo Pessoa ?
E uma referencia do tipo que aponta para um objeto de classe. Por sua vez esse tipo possui metodos, que interagem com os atributos do objeto, podendo mudar o estado interno deste objeto.