[Java] 클래스 변수의 개념과 예제

클래스 변수

- 클래스 내에서 선언된 변수
- 개별적이고 독립적으로 값이 생성/저장되는 인스턴스 변수와 달리, 모든 영역에서
  값을 공유하는 변수
- 인스턴스마다 값을 개별적으로 관리할 필요가 없고, 공용하고 싶을 때 사용한다.

1) 클래스 변수의 예제


public class Test01_1 {

   static class Student {
    static String name;
    static int age;
    static boolean working;
  }
 


위 예제에서 아래 부분이 클래스 변수를 생성하는 명령어이다.

 

static String name;

static int age;
static boolean working;


문법


- 변수 선언 앞에 static을 붙인다.

- 클래스를 사용하는 시점에 생성된다.

 

* 클래스를 사용하는 시점이란? 

 1) new 명령으로 사용하여 인스턴스를 생성할 때

 2) 클래스 변수를 사용하려 할 때

 3) 클래스 메서드를 사용하려 할 때


(위에서 언급한 세가지 경우에 해당 클래스의 파일을 찾아 메모리에 로딩한다. 

즉 ***.class 파일을 메모리의 "Method Area" 영역으로 읽어들인다.

우리는 이것을 "클래스를 로딩한다"라고 표현한다.)




2) 클래스 변수 생성 및 호출 코드



public static void main(String[] args) {
    Student s = new Student(); // 클래스 변수 생성
    s.name = "홍길동"; // 클래스 변수에 "홍길동" 값 저장
    System.out.println(s.name);  // 출력

}







블로그 이미지

필로그래머

,