(Opi, miten ja milloin voit poistaa tämän malliviestin)
Objektipainotteisessa ohjelmoinnissa luokkien avulla instanssimuuttuja on luokassa määritelty muuttuja (eli jäsenmuuttuja), josta jokaisella luokan instansoituneella objektiolla on erillinen kopio eli instanssi. Instanssimuuttuja on samankaltainen kuin luokkamuuttuja, mutta se ei ole staattinen.Instanssimuuttuja on muuttuja, joka on ilmoitettu luokassa mutta konstruktorien, metodien tai lohkojen ulkopuolella. Instanssimuuttujat luodaan, kun objekti instansoidaan, ja ne ovat kaikkien luokan konstruktorien, metodien tai lohkojen käytettävissä. Instanssimuuttujalle voidaan antaa käyttöoikeusmuuttujia.
Instanssimuuttuja ei ole luokkamuuttuja, vaikka yhtäläisyyksiä onkin. Se on eräänlainen luokan attribuutti (tai luokan ominaisuus, kenttä tai datajäsen). Sama kahtiajako instanssi- ja luokkajäsenten välillä pätee myös metodeihin (”jäsenfunktioihin”); luokalla voi olla sekä instanssimetodeja että luokkametodeja.
Jokainen instanssimuuttuja elää muistissa sen objektin eliniän, jonka omistuksessa se on.
Muuttujat ovat ominaisuuksia, jotka objekti tietää itsestään. Kaikilla objektin instansseilla on omat kopionsa instanssimuuttujista, vaikka arvo olisi sama objektista toiseen. Yksi objektin instanssi voi muuttaa instanssimuuttujiensa arvoja vaikuttamatta kaikkiin muihin instansseihin. Instanssimuuttujia voivat käyttää kaikki luokan metodit, ellei metodia ole ilmoitettu staattiseksi.