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.