객체의 상태를 나타내는 변수로, 클래스의 각 인스턴스(객체)마다 고유한 값을 가진다.
즉, 클래스로부터 생성된 각 객체마다 고유한 상태를 유지하기 위해 사용됩니다.
객체의 필드(Field)로도 알려져 있다. 이 변수들은 클래스 내부에 선언되며, 클래스의 모든 메서드에서 사용할 수 있다. 인스턴스 변수는 객체가 생성될 때 메모리에 할당되며, 해당 객체의 라이프 사이클 동안 유지된다.
public class Car {
// 인스턴스 변수 선언
String color;
int year;
// 생성자
public Car(String color, int year) {
// 인스턴스 변수 초기화
this.color = color;
this.year = year;
}
// 메서드
public void displayInfo() {
System.out.println("This car is " + color + " and it was manufactured in " + year + ".");
}
}
위의 Car 클래스에서 color와 year는 인스턴스 변수이다.
Car 클래스로부터 생성된 각 Car 객체는 각각의 color와 year 값을 가진다.
이러한 변수들은 displayInfo 메서드와 같은 클래스의 다른 메서드에서 사용될 수 있다.
인스턴스 변수는 객체의 특정 상태를 나타내는 데 사용되며, 객체 간의 데이터 공유를 위해 사용되지 않는다.
대신에 클래스 변수(Static Variables)가 그 역할을 한다.