[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); // 출력
}
'Programming > java' 카테고리의 다른 글
[Java] 생성자 (constructor)와 오버로딩 (overloading) (0) | 2017.05.11 |
---|---|
[Java] 스태틱 블록 (static block), 인스턴스 블록 (instance block), 생성자 (1) | 2017.05.11 |
[Java] 인스턴스 변수의 개념과 예제 (0) | 2017.05.10 |
[Java] 클래스 로딩과 메모리 영역 (stack, heap, method area) (0) | 2017.05.10 |
[Java] 생성자(constructor) 개념과 예제 (0) | 2017.05.10 |