Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Entendimento sobre Objeto, Referencia.

Boa noite,

Gostaria de entender o que é exatamente um Objeto, uma Referência e uma Instância. Também estou com dificuldade em entender a diferença de um para o outro e o que é exatamente o papel de cada um.

2 respostas
solução!

Oi Leandro, tudo bem com você?

Primeiro, vamos esclarecer que um Objeto e uma Instância são a mesma coisa, portanto quando falamos de uma instância de uma classe, estamos nos referindo a um objeto criado a partir dessa classe. Para entender o que é um objeto podemos pegar como exemplo a classe Conta, que nada mais é que um projeto de uma conta, ou seja, não passa de uma de ideia. Portanto, para que possamos manipular uma conta de verdade, precisamos construir algo concreto a partir desse projeto, isto é, precisamos instanciar/criar um objeto a partir dessa classe Conta.

Já a referência é um pouco mais complicada, mas acredito que com um exemplo de código fique mais fácil de pegar o conceito. Sabemos que uma variável pode guardar algum tipo de valor dentro dela, para a referência não é diferente, ela é o que podemos chamar de variável referência, uma variável que guarda o endereço de um objeto. Portanto, quando instanciamos um objeto:

public static void main(String[] args) {
    Conta c1;
    c1 = new Conta();
}

Estamos alocando um espaço na memória do computador para guardar um novo objeto new Conta(). Depois que esse espaço é alocado, a única forma de acessá-lo é através de uma "flecha" que aponta para o endereço de memória onde esse espaço foi criado. Guardamos essa flecha dentro da variável c1,que agora passa a ser chamada de referência, pois é ela quem agora contém a flecha que referencia o endereço onde o objeto foi criado!

Para um entendimento mais completo do assunto, recomendo muito dar uma lida na apostila FJ11 da Caelum.

Espero ter ajudado, qualquer dúvida estou à sua disposição!

Bons estudos!!

Muito obrigado !!