- 클래스 멤버
변수 앞에 static을 붙이면 클래스멤버가 된다.
- 클래스멤버 용도
인스턴스에 따라서 변하지 않는 값이 필요한 경우.
인스턴스를 생성할 필요없이 클래스에 저장하고 싶은 경우.
값의 변경 사항을 모든 인스턴스가 공유해야하는 경우.
아래 코드를 보자.
public class AClass { Integer i; Integer j; static int TEMP = 10; // 생성자 public AClass(Integer i, Integer j) { super(); this.i = i; this.j = j; } public void sum(){ System.out.println(this.i + this.j); } } public class JAVA_TEST { public static void main(String[] args) { AClass a = new AClass(1, 2); a.sum(); AClass.TEMP = 20; // 클래스 멤버 접근 System.out.println(a.TEMP); System.out.println(AClass.TEMP); } } | cs |
TEMP 변수에 static 키워드를 붙이면 자바는 메모리 할당을 딱 한번만 하게 되어 메모리 사용에 이점을 볼 수 있게 된다.(공유개념도 포함)