(Leer hoe en wanneer u dit sjabloonbericht verwijdert)
In objectgeoriënteerd programmeren met klassen is een instantievariabele een variabele die is gedefinieerd in een klasse (d.w.z. een lidvariabele), waarvoor elk geïnstantieerd object van de klasse een afzonderlijke kopie, of instantie, heeft. Een instantievariabele heeft gelijkenissen met een klassevariabele, maar is niet statisch. Een instantievariabele is een variabele die in een klasse wordt gedeclareerd, maar buiten constructors, methodes of blokken. Instance variabelen worden aangemaakt wanneer een object wordt geïnstantieerd, en zijn toegankelijk voor alle constructors, methodes, of blokken in de klasse. Er kunnen toegangsmodifiers aan de instantievariabele worden gegeven.
Een instantievariabele is geen klassevariabele, hoewel er wel overeenkomsten zijn. Het is een soort klasse attribuut (of klasse eigenschap, veld, of data lid). Dezelfde tweedeling tussen instantie- en klasse-leden geldt ook voor methoden (“lidfuncties”); een klasse kan zowel instantie-methoden als klasse-methoden hebben.
Elke instantie-variabele leeft in het geheugen voor het leven van het object waarvan zij het eigendom is.
Variabelen zijn eigenschappen die een object over zichzelf kent. Alle instanties van een object hebben hun eigen kopieën van instantievariabelen, zelfs als de waarde hetzelfde is van het ene object naar het andere. Een instantie van een object kan de waarden van zijn instantievariabelen veranderen zonder dat dit gevolgen heeft voor alle andere instanties. Instantievariabelen kunnen door alle methoden van een klasse worden gebruikt, tenzij de methode als statisch is gedeclareerd.