Sobes.tech
Junior

O que são tipos de dados de referência?

sobes.tech IA

Resposta da IA

Os tipos de dados de referência não armazenam o valor em si, mas uma referência (endereço na memória) ao local onde esse valor é guardado. Ao atribuir ou passar esses dados, apenas a referência é copiada, não o objeto completo. As alterações feitas através de uma referência serão visíveis ao acessar através de outras referências que apontam para o mesmo objeto.

Exemplos de tipos de dados de referência em diferentes linguagens:

  • Java: Classes (String, Object, classes personalizadas), interfaces, arrays.
  • C#: Classes (string, object, classes personalizadas), interfaces, delegados, arrays.
  • Python: Todos os tipos de dados (listas, dicionários, tuplas, conjuntos, classes, funções).
# Exemplo em Python
list1 = [1, 2, 3]
list2 = list1  # list2 referencia à mesma lista que list1

list2.append(4)

print(list1)  # Saída: [1, 2, 3, 4]
print(list2)  # Saída: [1, 2, 3, 4]

A diferença em relação aos tipos de dados de valor é que os tipos de valor armazenam o próprio valor, e ao atribuir ou passar, todo o valor é copiado.

Exemplo de comparação:

Característica Tipos de valor Tipos de referência
Armazenamento O próprio valor Referência ao valor
Atribuição/passo Cópia do valor Cópia da referência
Alteração Não afeta o original Altera o original
Exemplo (C#) int, struct, enum class, interface, array