Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java의 지역 변수와 전역 변수 개념 완벽 정리

Java 지역 변수(Local Variable)란?

지역 변수는 메서드, 생성자 또는 블록 내부에서 선언되는 변수입니다. 해당 메서드, 생성자 또는 블록에 진입하는 시점에 생성되며, 실행 흐름이 그 범위를 벗어나는 순간 자동으로 소멸됩니다.

지역 변수의 주요 특징

  • 접근 제어자 사용 불가: 지역 변수에는 public, private, protected 같은 접근 제어자를 붙일 수 없습니다.
  • 선언 범위 내에서만 유효: 지역 변수는 선언된 메서드, 생성자 또는 블록 내부에서만 접근할 수 있습니다.
  • 스택(Stack) 메모리에 저장: 지역 변수는 내부적으로 스택 영역에 할당되며, 범위가 종료되면 메모리에서 해제됩니다.
  • 사용 전 초기화 필수: 지역 변수는 기본값이 자동으로 설정되지 않으므로, 반드시 초기화한 후 사용해야 합니다.

예제 코드

다음은 메서드 내부에서 지역 변수를 선언하고 사용하는 예제입니다.

public class Demo {
    public void Rank() {
        int rank = 0; // 지역 변수 선언 및 초기화
        rank = rank + 7;
        System.out.println("Rank = " + rank);
    }
    public static void main(String args[]) {
        Demo d = new Demo();
        d.Rank();
    }
}

실행 결과

Rank = 7

Java에는 전역 변수(Global Variable)가 없다?

C나 C++와 달리 Java에는 전역 변수라는 개념이 존재하지 않습니다. 대신 Java에서는 다음과 같은 방식으로 전역 변수와 유사한 효과를 얻을 수 있습니다.

  • 클래스 변수(정적 변수): static 키워드를 사용해 클래스 수준에서 변수를 선언하면, 모든 객체가 공유하는 변수처럼 활용할 수 있습니다.
  • 인스턴스 변수: 클래스 내부, 메서드 외부에 선언된 변수로, 객체마다 독립적인 값을 가질 수 있습니다.

이러한 구조 덕분에 Java는 변수의 생명 주기와 접근 범위를 명확하게 관리할 수 있으며, 코드의 안정성과 유지보수성이 크게 향상됩니다.