(Aflați cum și când să eliminați acest mesaj șablon)
În programarea orientată pe obiecte cu clase, o variabilă de instanță este o variabilă definită într-o clasă (adică o variabilă membru), pentru care fiecare obiect instanțiat al clasei are o copie separată, sau instanță. O variabilă de instanță are asemănări cu o variabilă de clasă, dar nu este statică. o variabilă de instanță este o variabilă care este declarată într-o clasă, dar în afara constructorilor, metodelor sau blocurilor. Variabilele de instanță sunt create atunci când un obiect este instanțiat și sunt accesibile tuturor constructorilor, metodelor sau blocurilor din clasă. Variabilei de instanță i se pot atribui modificatori de acces.
O variabilă de instanță nu este o variabilă de clasă, deși există asemănări. Este un tip de atribut de clasă (sau proprietate de clasă, câmp sau membru de date). Aceeași dihotomie între membrii de instanță și membrii de clasă se aplică și în cazul metodelor („funcții membre”); o clasă poate avea atât metode de instanță, cât și metode de clasă.
Care variabilă de instanță trăiește în memorie pe toată durata de viață a obiectului pe care îl deține.
Variabilele sunt proprietăți pe care un obiect le cunoaște despre el însuși. Toate instanțele unui obiect au propriile lor copii ale variabilelor de instanță, chiar dacă valoarea este aceeași de la un obiect la altul. O instanță a unui obiect poate modifica valorile variabilelor sale de instanță fără a afecta toate celelalte instanțe. Variabilele de instanță pot fi utilizate de toate metodele unei clase, cu excepția cazului în care metoda este declarată ca fiind statică.
.