본문 바로가기
Software Tech/Spring (feat.JAVA)

멤버변수, 전역변수, 지역변수

by SuperDev 2024. 11. 19.

프로그래밍에서 멤버 변수, 전역 변수, 지역 변수는 각기 다른 범위와 역할을 가지는 변수 유형입니다.


1. 멤버 변수 (Member Variable)

  • 정의: 객체지향 프로그래밍(OOP)에서 클래스의 속성을 나타내는 변수로, 클래스 내에서 선언됩니다.
  • 특징:
    • 클래스의 인스턴스(객체)에 종속되어 있음.
    • 객체가 생성될 때 메모리에 할당되고, 객체가 파괴될 때 해제됨.
    • 접근제한자(private, protected, public)에 따라 접근 가능 여부가 달라짐.
  • 사용 예 (Java 예시):
class Car {
    String color; // 멤버 변수
    int speed;    // 멤버 변수
}

Car myCar = new Car();
myCar.color = "Red";  // 멤버 변수 접근

2. 전역 변수 (Global Variable)

  • 정의: 프로그램 전체에서 접근 가능한 변수로, 함수나 클래스 외부에서 선언됩니다.
  • 특징:
    • 프로그램이 실행되는 동안 메모리에 유지됨.
    • 모든 함수와 코드 블록에서 접근 가능.
    • 지나치게 사용하면 코드의 복잡성을 증가시킬 수 있음(의존성이 높아짐).
  • 사용 예 (Python 예시):
counter = 0  # 전역 변수

def increment():
    global counter
    counter += 1
increment()
print(counter)  # 출력: 1

3. 지역 변수 (Local Variable)

  • 정의: 특정 함수나 블록 내에서 선언되고, 해당 범위에서만 접근 가능한 변수입니다.
  • 특징:
    • 함수가 호출될 때 생성되고, 함수가 종료되면 소멸됨.
    • 다른 함수나 블록에서는 접근할 수 없음.
  • 사용 예 (Python 예시):
def calculate():
    result = 10  # 지역 변수
    print(result)

calculate()
# print(result)  # 오류: result는 지역 변수라 함수 외부에서 접근 불가

멤버 변수, 전역 변수, 지역 변수의 차이

구분 범위 생명주기 사용 위치
멤버 변수 클래스 내부 객체 생성 시 할당, 객체 소멸 시 해제 클래스 내
전역 변수 프로그램 전체 프로그램 시작 시 생성, 종료 시 해제 함수 외부
지역 변수 함수/블록 내부 함수/블록 실행 시 생성, 종료 시 해제 함수/블록 내부

 

728x90