En programmation orientée objet, une variable d'instance est une variable contenant l'état d'un objet, aussi appelée attribut.
Une variable dâinstance prĂ©cise l'Ă©tat d'un objet auquel elle se rĂ©fĂšre. Deux objets diffĂ©rents, mĂȘme appartenant Ă la mĂȘme classe, peuvent avoir des valeurs diffĂ©rentes dans leurs variables dâinstance respectives. De lâextĂ©rieur de lâobjet, les variables dâinstance ne peuvent ĂȘtre ni altĂ©rĂ©es ni mĂȘme vues (autrement dit les variables dâinstance ne sont jamais publiques), sauf par des mĂ©thodes explicitement fournies par le programmeur. Comme les variables globales, les variables dâinstance ont la valeur « null » jusquâĂ ce quâelles soient initialisĂ©es.
En rĂšgle gĂ©nĂ©rale les variables dâinstance nâont pas Ă ĂȘtre dĂ©clarĂ©es. Cela donne une structure dâobjets extrĂȘmement souple. En fait, chaque variable dâinstance est dynamiquement ajoutĂ©e Ă lâobjet au moment de sa premiĂšre invocation.
Elle s'oppose à la variable de classe, appelée aussi variable statique.