변수의 스코프와 라이프타임

이규은·2021년 9월 13일
1

변수는 선언하는 위치에 따라 스코프와 라이프 타임이 달라진다.

스코프

자바에서 스코프란 변수가 존재할 수 있는 영역을 의미한다.
중괄호로 한 영역이 생성된다면 그 영역에 관한 스코프를 형성하게 된다.

public static void main(String[] args) {
    int a = 1;
    int b = 1;

    System.out.println(a + b);

    add();
}

public static void add() {
    int a = 3;
    int b = 5;
    System.out.println(a + b);
}

위와 같이 각각 다른 메소드에서 같은 이름의 변수를 사용할 수 있다.

자바는 접근 제어자에 따라 스코프가 달라진다.

  1. private
    클래스 내부
  2. public
    클래스 내부 + 외부, 다른 패키지 등 어디에서나
  3. default
    패키지 내부
  4. protected
    클래스 내부, 자식 클래스

라이프 타임

라이프 타임은 변수가 메모리 영역에 저장되어 있는 시간을 뜻한다.

profile
안녕하세요

0개의 댓글