Sobes.tech
Junior — Middle

Kako razlikovati osnovne tipove podataka od referentnih objekata u programskom jeziku?

sobes.tech АИ

Одговор од АИ

U programskim jezicima, osnovni tipovi podataka (primitivni) i referentni objekti razlikuju se po načinu skladištenja i prenosa podataka.

  • Osnovni tipovi podataka (npr. int, float, boolean u Java/Android-u) se čuvaju na steku i direktno sadrže vrednost. Pri prosleđivanju promenljive, kopira se sama vrednost.
  • Referentni objekti (npr. objekti klasa) se čuvaju na hrpi, a u promenljivoj se nalazi referenca (pokazivač) na objekat. Pri prosleđivanju, kopira se samo referenca, a ne sam objekat.

Primer:

int a = 5;
int b = a; // kopira vrednost 5
b = 10;
// a i dalje 5

String s1 = new String("hello");
String s2 = s1; // kopira referencu na objekat
s2 = "world";
// s1 i dalje "hello" (String u Java je nepromenljiv)

Na ovaj način, osnovni tipovi direktno čuvaju podatke, dok referentni objekti to rade putem pokazivača na objekat u memoriji.