(정적 변수는 클래스 변수라고도 하며, 정적 메서드는 클래스 메서드라고도 합니다.)
정적 변수와 인스턴스 변수의 차이점은 무엇입니까?
1. 정적 변수는 static 키워드로 수정되며, 인스턴스 변수는 필요하지 않습니다.
2. 정적 변수는 프로그램이 로드되는 한 클래스에 속하며 정적 변수는 공간이 할당되어 직접 사용할 수 있습니다.
인스턴스 변수는 객체의 속성이며 공간이 할당되며 객체가 인스턴스화된 후에만 사용할 수 있습니다. (즉, 사용하려면 새로운 것이 필요합니다.)
3. 클래스 변수는 모든 객체의 소유입니다. 한 객체가 그 값을 변경하면 다른 객체도 변경된 결과를 받게 됩니다.
< p> 인스턴스 변수는 객체에만 적용됩니다. 객체의 값을 변경해도 다른 객체에는 영향을 주지 않습니다.public class StaticClass {
static int i=5;//정적 변수
int j=5;//인스턴스 변수
public static void main(String[] args) {
System.out.println(StaticClass.i);//i를 직접 참조할 수 있습니다.
StaticClass sc=new StaticClass();//j를 참조하기 전에 먼저 인스턴스화해야 합니다.
System.out.println(sc.j);
}
}