Java의 개인 정적 변수
Aryan Tyagi
2023년10월12일
일반적으로 정적 변수로 알려진 클래스 변수는 클래스에서 static
키워드를 사용하여 정의되지만 메서드, 생성자(기본값 또는 매개변수화된) 또는 블록 외부에 있습니다.
개인용 정적 변수는 상수에 자주 사용됩니다. 예를 들어, 많은 개인은 코드에 상수를 사용하지 않는 것을 선호합니다. 대신 의미 있는 이름을 가진 개인용 정적 변수를 만들고 코드에서 활용하여 코드를 더 이해하기 쉽게 만드는 것을 선호합니다.
변수가 정적으로 선언되면 변수의 값은 모든 인스턴스에 대해 동일하며 해당 변수를 호출하기 위해 개체를 만들 필요가 없습니다.
private static으로 선언된 변수는 쉽게 액세스할 수 있지만 해당 변수가 정의되고 선언된 클래스 내부에서만 액세스할 수 있습니다. 변수가 private으로 선언되어 있고 private 변수는 클래스 외부에서 접근할 수 없기 때문입니다. 클래스 내에서 ClassName.Variable_name
을 사용하여 액세스할 수 있습니다.
예를 들어,
public class Demo {
private static int a = 10;
public static void main(String[] args) {
System.out.println(Demo.a); // className.variable_name
}
}
출력:
10
위의 예에서 우리는 정적 개인 변수를 만들고 그 값을 출력했습니다.
개인용 정적 변수와 개인용 정적 변수의 차이점을 보기 위해 예를 이해해 보겠습니다.
public class test {
private static int eye = 2;
private int leg = 3;
public test(int eyes, int legs) {
eye = eyes;
leg = leg;
}
public test() {}
public void print() {
System.out.println(eye);
System.out.println(leg);
}
public static void main(String[] args) {
test PersonB = new test(14, 8);
PersonB.print();
}
}
출력:
14
3
PersonB
객체는 위의 예에서 eye
변수를 변경하지만 leg
변수는 동일하게 유지됩니다. 이는 private 변수가 원래 값을 유지하면서 자신을 메서드에 복사하기 때문입니다. 그러나 private static 값은 공유할 모든 메서드에 대해 하나의 복사본만 있으므로 값을 변경하면 원래 값이 변경됩니다.