변수의 종류 |
선언위치 |
생성시기 |
클래스 변수 |
클래스 영역 |
클래스가 메모리에 올라갈 때 |
인스턴스 변수 |
인스턴스 생성시 |
|
지역 변수 |
메서드 영역 |
변수 선언문 수행시 |
-인스턴스 변수
각 인스터스의 개별적인 저장공간. 인스턴스마다 다른 값 저장가능
인스턴스 생성 후, '참조변수.인스턴스변수명'으로 접근
인스턴스를 생성할 때 생성되고, 참조변수가 없을 때 가비지 컬렉터에 의해 자동제거됨
- 클래스 변수
같은 클래스의 모든 인스턴스들이 공유하는 변수
인스턴스 생성없이 '클래스이름.클래스변수명'으로 접근
클래스가 로딩될 때 생성되고 프로그램이 종료될 때 소멸
- 지역 변수
메서드 내에 선언되며, 메서드의 종료와 함께 소멸
조건문, 반복문의 블럭{} 내에 선언된 지역변수는 블럭을 벗어나면 소멸
'Java' 카테고리의 다른 글
오버로딩 vs 오버라이딩 (0) | 2014.12.16 |
---|---|
JVM의 메모리 구조 (0) | 2014.12.16 |
클래스의 정의 (0) | 2014.12.15 |
객체지향언어의 특징 (0) | 2014.12.15 |
변수의 타입(Data Type) (0) | 2014.12.15 |