본문 바로가기
Web Programing/JAVA

지역변수와 전역변수 이해하기 예시

by 기록하는 초보 2024. 2. 19.
반응형

웹 프로그래밍에서 효율적인 프로그램 설계를 위해 변수를 적절히 사용하는 것은 필수적인데, 특히 변수의 유효 범위(scope)와 생명주기(lifetime)를 이해하는 것을 매우 중요합니다. 이와 관련하여 지역변수와 전역변수는 가장 핵심적인 개념입니다. 이번 글에서는 지역변수와 전역변수에 대해서 알아보고, 두 변수의 차이점에 대해서 알아보겠습니다.

 

지역변수(Local Variables) 이해하기

지역변수는 한정된 영역인 블록(Block), 함수(funcation), 또는 메서드(Method) 내부에서 사용되는 변수를 말합니다.

지역변수의 특징은 다음과 같습니다.

특정 함수 또는 블록 특정 구역에서 선언되며, 해당 범위 내에서만 유효합니다.

지역변수는 함수가 호출될 때 메모리 상에 할당되고, 함수의 처리가 종료되면 메모리에서 해제됩니다. 따라서 해당 함수 밖에서 해당 변수를 참조할 수 없습니다.

 

전역변수(Global Variables) 이해하기

전역변수는 프로그램의 모든 영역에서 접근할 수 있는 변수로, 함수 외부, 특히 모듈의 최상위 레벨에 선언됩니다. 전역변수의 사용은 주의를  요하며, 다음과 같은 특징을 갖습니다.

전역변수는 어떤 함수 내부에서든지 접근 가능하므로 전역 데이터를 관리하는데 유용할 수 있으나, 프로그램의 예측 가능성과 안정성을 떨어뜨릴 수 있습니다.

프로그램이 시작될 때 생성되고, 프로그램이 종료될 때까지 지속됩니다. 프로그램의 어디에서든지 데이터에 대한 변경이 가능하므로, 데이터의 일관성 확보에 문제가 생길 수 있습니다.

 

지역변수와 전역변수의 예시 

아래의 코드는 지역변수와 전역변수를 알아보는 간단한 예시입니다.

Class MyClass {
	int globalVar = 1; // 전역변수
    
	void method(){
		int localVar = 10; // 지역변수
		System.out.println(localVar-globalVar); //메소드 내의 지역변수와 클래스의 전역변수를 사용
	}
    
    void example(){
    	System.out.println("전역변수 glabalVard의 값은 ="+globalVar);
        System.out.println("지역변수 localVar의 값은 ="+localVar); //지역변수 localVar는 method()의 지역변수로 method() 외부에서 접근할 수 없다.
    }
}

 

 

두 변수 유형은 메모리 사용 및 성능 최적화, 코드의 유지 보수성, 오류 방지 측면에서 중요합니다. 지역변수는 어느 정도 자동화된 메모리 관리 덕분에 대부분의 케이스에서 안전하고 효율적인 선택이 될 수 있습니다. 전역변수는 필요한 경우 프로그램 전체에 걸쳐 공유할 수 있는 데이터를 저장하는데 유용하지만, 부주의한 사용은 소프트웨어의 오류를 쉽게 일으킬 수 있는 원인이 됩니다.

반응형