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

+ Recent posts