Sobes.tech
Junior — Middle

Hoe onderscheid je de basistypen van referentieobjecten in een programmeertaal?

sobes.tech AI

Antwoord van AI

In programmeertalen verschillen de basistypen (primitieven) en referentie-objecten in de manier waarop gegevens worden opgeslagen en doorgegeven.

  • Basistypen (bijvoorbeeld int, float, boolean in Java/Android) worden in de stack opgeslagen en bevatten direct de waarde. Bij het doorgeven van een variabele wordt de waarde zelf gekopieerd.
  • Referentie-objecten (bijvoorbeeld klasse-objecten) worden in de heap opgeslagen, en de variabele bevat een verwijzing (pointer) naar het object. Bij het doorgeven wordt alleen de verwijzing gekopieerd, niet het object zelf.

Voorbeeld:

int a = 5;
int b = a; // kopieert de waarde 5
b = 10;
// a is nog steeds 5

String s1 = new String("hello");
String s2 = s1; // kopieert de verwijzing naar het object
s2 = "world";
// s1 is nog steeds "hello" (String in Java is onveranderlijk)

Zo slaan basistypen de gegevens direct op, terwijl referentie-objecten dat doen via een pointer naar het object in het geheugen.