An instance variable is a variable defined in a class, for each object of the class that has a separate copy. A class variable is a variable defined in a class of which a single copy exists. In programming languages like Java, C#, and C++, a static variable is a variable that has been allocated statically.