(Learn how and when to remove this template message)
W programowaniu obiektowym z klasami, zmienna instancyjna jest zmienną zdefiniowaną w klasie (tj. zmienną członkowską), dla której każdy zinicjalizowany obiekt klasy ma oddzielną kopię lub instancję. Zmienna instancji ma podobieństwa do zmiennej klasy, ale jest niestatyczna.Zmienna instancji jest zmienną, która jest zadeklarowana w klasie, ale poza konstruktorami, metodami lub blokami. Zmienne instancji są tworzone, gdy obiekt jest inicjowany i są dostępne dla wszystkich konstruktorów, metod lub bloków w klasie. Do zmiennej instancji można przypisać modyfikatory dostępu.
Zmienna instancji nie jest zmienną klasy, chociaż istnieją podobieństwa. Jest to typ atrybutu klasy (lub właściwość klasy, pole, lub członek danych). Ta sama dychotomia między członkami instancji i klasy ma zastosowanie również do metod („funkcji członkowskich”); klasa może mieć zarówno metody instancji, jak i metody klasy.
Każda zmienna instancji żyje w pamięci przez całe życie obiektu, którego jest właścicielem.
Zmienne są właściwościami, które obiekt wie o sobie. Wszystkie instancje obiektu mają swoje własne kopie zmiennych instancji, nawet jeśli wartość jest taka sama dla jednego obiektu do drugiego. Jedna instancja obiektu może zmieniać wartości swoich zmiennych instancji bez wpływu na wszystkie inne instancje. Zmienne instancji mogą być używane przez wszystkie metody klasy, chyba że metoda jest zadeklarowana jako statyczna.