반응형
변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다.
변수의 종류를 결정짓는 중요한 요소는 변수의 선언된 위치이다.
인스턴스변수(instance variable)
- 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다.
- 클래스 영역안에 선어되었기 때문에 사용하려면 인스턴스를 생성해야 한다.
- 각 인스턴스마다 다른 값을 저장할 수 있다.
클래스변수(class variable)
- 인스턴스변수 앞에 static을 붙히기만 하면 된다.
- 인스턴스변수와는 달리 모든 인스턴스는 공통적인 값을 유지해야한다.
- 인스턴스를 생성하지 않아도 '클래스이름.클래스변수'와 같은 형식으로 사용한다.
- 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지된다.
- public을 앞에 붙이면 같은 프로그램 내에서 어디서나 접근할 수 있는 '전역변수(global variable)'의 성격을 갖는다.
지역변수(local variable)
- 메서드 내에 선언되어 메서드 내에서만 사용 가능하며, 메서드가 종료되면 소멸되어 사용할 수 없게 된다.
- 지역변수가 선언된 블럭{} 내에서만 사용 가능하며, 블럭{}을 벗어나면 소멸되어 사용할 수 없다.
class Vaiables {
int instanceValue; // 인스턴스 변수
static int classValue; // 클래스 변수
void method() {
int iv = 0; // 지역변수
}
}
반응형
'Java' 카테고리의 다른 글
생성자(constructor) (0) | 2021.09.14 |
---|---|
메서드(method) (0) | 2021.09.13 |
클래스의 또 다른 정의 (0) | 2021.09.13 |
클래스(Class)와 객체(Object) (0) | 2021.09.13 |
객체지향언어 (0) | 2021.09.13 |