(Aprenda como e quando remover esta mensagem modelo)
Na programação orientada a objetos com classes, uma variável de instância é uma variável definida em uma classe (ou seja, uma variável membro), para a qual cada objeto instanciado da classe tem uma cópia separada, ou instância. Uma variável de instância tem semelhanças com uma variável de classe, mas não é estática. Uma variável de instância é uma variável que é declarada em uma classe, mas fora dos construtores, métodos ou blocos. Variáveis de instância são criadas quando um objeto é instanciado, e são acessíveis a todos os construtores, métodos ou blocos da classe. Modificadores de acesso podem ser dados para a variável de instância.
Uma variável de instância não é uma variável de classe embora existam semelhanças. Ela é um tipo de atributo de classe (ou propriedade de classe, campo ou membro de dados). A mesma dicotomia entre os membros da instância e da classe também se aplica aos métodos (“member functions”); uma classe pode ter tanto métodos de instância quanto métodos de classe.
A cada variável de instância vive em memória para a vida do objeto pelo qual é propriedade.
Variáveis são propriedades que um objeto conhece sobre si mesmo. Todas as instâncias de um objeto têm suas próprias cópias de variáveis de instância, mesmo que o valor seja o mesmo de um objeto para outro. Uma instância de objeto pode alterar os valores de suas variáveis de instância sem afetar todas as outras instâncias. Variáveis de instância podem ser usadas por todos os métodos de uma classe, a menos que o método seja declarado como estático.