1. 지역변수 (local variables)
2. 매개변수 (parameter variables)
3. 인스턴스 변수 (instance variables)
4. 클래스 변수 (class variables)
지역변수 (local variables)
- 중괄호 내에서 선언된 변수.
- 지역변수를 선언한 중괄호 내에서만 유효
// 1과 2는 같은 변수일까?
// -> Y. 중괄호 안에 같은 변수가 선언되어 있기 때문이지만 이렇게 작성하면 컴파일 에러 발생.
// 1과 3은 같은 변수일까?
// -> N. 다른 중괄호에 위치해 있기 때문에 다른 변수.
public void otherMethod() {
if (true) {
int localVariable; // 1
if (true) {
int localVariable; // 2
}
}
if (true) {
int localVariable; // 3
}
}
매개변수 (parameter variables)
- 메서드에 넘겨주는 변수.
- 메서드가 호출될 때 생명이 시작되고, 메서드가 끝나면 소멸.
인스턴스 변수 (instance variables)
- 메서드 밖에, 클래스 안에 선언된 변수이며 앞에 static 예약어가 없는 변수.
- 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸.
클래스 변수 (class variables)
- 인스턴스 변수처럼 메서드 밖에, 클래스 안에 선언된 변수이지만 앞에 static 예약어가 있는 변수.
- 클래스가 처음 호출될 때 생명이 시작되고, 자바 프로그램이 끝날 때 소멸.
반응형
'Java' 카테고리의 다른 글
[JAVA] 조건문과 반복문 (1) | 2023.11.23 |
---|---|
[JAVA] 형 변환 (Casting) (0) | 2023.11.23 |
[JAVA] 연산자 (1) | 2023.11.22 |
[JAVA] 기본자료형 (0) | 2023.11.15 |
[JAVA] 변수,상수,리터럴의 차이 (0) | 2021.05.22 |