Diferencia entre referencia y objeto en Java (con tabla)

Objetos y referencias son términos asociados con una ‘clase’ en el lenguaje de programación Java.

Una clase es un plano o una plantilla que proporciona instrucciones sobre cómo crear objetos. El objeto se basa en esta estructura y se rellenan los campos necesarios según esa plantilla de clase.

Una referencia de memoria, es simplemente como su nombre lo indica, una referencia a la ranura de memoria. El usuario puede utilizar la referencia de memoria para averiguar la dirección donde se almacena el objeto.

los diferencia entre un objeto y una referencia es que, un objeto es una instancia de una clase y se almacena en una determinada ranura de memoria. Una ‘referencia’ apunta al lugar donde se almacenan las variables y métodos de los ‘objetos’.

Tabla de comparación entre referencia y objeto en Java (en forma tabular)

Parámetro de referencia de objeto de comparación

Definición básica Es la instancia de una clase y todos los elementos que contiene se basan en el plano de la clase. Una simple referencia de memoria que apunta a dónde se almacena el objeto en la ranura de memoria.
Formato de creación Existe un formato simple para la creación de un objeto:
ClassName reference_variable = new ClassName (con parámetro);
La referencia de memoria se crea junto al objeto. Se utiliza en el formato para la creación de objetos y se le asigna un nombre de variable.
Elementos Contiene métodos y variables basados ​​en la clase. Contiene una secuencia de bits que almacenan la dirección del objeto.
Mudable Los objetos tienen estados y comportamientos que se pueden cambiar, es decir, se puede cambiar el estado del objeto. El valor de la variable de referencia no se puede cambiar. Solo puede permanecer como el tipo de datos con el que se declaró.
Significado virtual Es una entidad del mundo real que contiene algún tipo de memoria o datos. No es más que un nombre de variable, que no tiene un significado real. Es como el nombre de una persona, que hace referencia a esa persona.

¿Qué es la referencia en Java?

Una referencia es algo que proporciona la dirección del lugar donde se ha asignado la memoria del objeto.

El objeto nunca se utiliza directamente; en su lugar, asignamos variables de referencia, que indirectamente actúan como intermediarios, entre el objeto que se llama y el objeto almacenado en la memoria.

Java también permite 4 tipos diferentes de referencias:

  1. Fuerte referencia.
  2. Referencia débil.
  3. Referencia blanda.
  4. Referencia fantasma

Se crea una referencia dentro del formato para la creación de un objeto a partir de una clase –

Nombre de la clase referencia_variable = nuevo ClassName (con parámetro);

Aquí la ‘referencia_variable’ es el valor asignado a la referencia. Este valor no se puede cambiar y es de un solo tipo de datos. Sin embargo, una cosa importante a tener en cuenta sobre las referencias es que las mismas referencias se pueden asignar a varios objetos si es necesario.

¿Qué es Object en Java?

Un objeto es simplemente una instancia de la clase. Representa la estructura de la clase y sigue las instrucciones del modelo para todos los elementos presentes en ella, como métodos y variables.

Se considera que los objetos tienen estados y comportamientos. Aquí, los estados son una entidad ‘abstracta’, que contiene todas las propiedades de los objetos, así como los valores de esas propiedades. En pocas palabras, un estado para un ser humano sería: nombre, raza, edad, etc.

Los comportamientos vinculan la estructura del objeto. Vinculan las relaciones entre los atributos, para permitir que el objeto realice funciones / operaciones cuando es llamado. En términos simples, podríamos decir que para un ser humano, los comportamientos serían: cocinar, caminar, hablar, etc.

El ‘Objeto’ se crea mediante 3 pasos distinguibles:

  1. Declaración
  2. Instanciación
  3. Inicialización

En el primer paso declaración, se declara un nombre de variable de tipo de objeto, que pasa a ser la referencia para la memoria del objeto.

En el segundo paso, instanciación, tenemos una palabra clave, a saber, «nuevo», que se utiliza para crear el objeto.

En el tercer paso, inicialización, tenemos la palabra clave ‘nueva’ seguida de un ‘constructor’, que tiene el mismo nombre que la clase desde la que se está creando el objeto, junto con los parámetros. Esto llama al constructor para ayudarnos a inicializar el nuevo objeto que estamos creando.

El formato compilado para crear el objeto es como tal:

ClassName reference_variable = new ClassName (con parámetro);

Aquí, la referencia se crea usando ‘reference_variable’, y ClassName (con parámetro) es llamar al constructor.

Ejemplo: Person stu1 = new Person ();

Aquí, Person se refiere a la clase, stu1 es el valor de la variable de referencia que apunta al nuevo objeto que se está creando y Person () es el constructor.

Principales diferencias entre referencia y objeto en Java

  • Un objeto es una instancia derivada de la estructura de una clase. Una referencia es solo una variable que apunta a la ubicación del objeto en la memoria.
  • Un objeto se crea con un formato determinado – «ClassName reference_variable = new ClassName (con parámetro);». Se crea una referencia junto con la creación del objeto, dentro del formato.
  • Un objeto contiene elementos como variables y métodos, así como estados y comportamientos. Una referencia simplemente contiene una secuencia de bits.
  • Un objeto nunca se ve directamente dentro del programa, sino que se asigna la variable de referencia y se crea una referencia al objeto.
  • Un objeto es una entidad del mundo real que guarda algo de memoria. Una referencia no tiene un significado real y su comportamiento es el mismo que el del nombre de una persona.

Conclusión

Los objetos y las referencias están entrelazados cuando se trata de su funcionamiento. Un objeto no se puede ver o asignar directamente, por lo que usamos referencia para asignar un nombre o una variable que actúa como intermediario.

La referencia nos permite llamar indirectamente al objeto, ya que conoce la dirección donde se almacena el objeto. Al crear un objeto, podemos ver que la referencia se crea junto a él, y como es un formato básico y simple, ahorra tiempo y es eficiente.

Nube de palabras para diferenciar entre referencia y objeto en Java

La siguiente es una recopilación de los términos más utilizados en este artículo sobre Referencia y objeto en Java. Esto debería ayudar a recordar términos relacionados tal como se utilizan en este artículo en una etapa posterior.

Referencias

Intente el cuestionario de TI