본문 바로가기
JAVA 공부/JAVA 기초

[자바 기초]지역변수와 인스턴스 변수

by KyeongOUK 2020. 4. 24.

public class test {
    int instance; // 인스턴스 변수
    
    Static int c;//클래스 변수 static은 실행되자마자 바로 메모리에 로드
    
    void method() {
   		int third; //지역변수
  	}
}

인스턴스 변수는 클래스 내에, 지역변수는 메소드 안에 위치하고있다. 

변수를 구분짓는 가장 중요한 요소는 '변수의 선언된 위치'

 

 

 

지역 변수

- 메소드 안에서 선언한 것을 지역 변수라고 부르는데, 메소드 매개변수도 지역변수에 포함됩니다. 지역 변수는 임시 변수며 메소드가 스택에 들어있는 동안만 (즉, 메소드 전체를 감싸는 오른쪽 중괄호가 나타나기 전까지만) 살아있습니다. 

메소드가 종료되면 소멸되어 사용할 수 없습니다. 

 

인스턴스 변수

- 클래스 내에서 선언한 것을 인스턴스 변수라고 부르는데, 메소드 내에서 선언한 것은 인스턴스 변수에 포함 되지 않습니다.

그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하기 위해서는 먼저 인스턴스를 생성해야합니다. 

인스턴스는 독립적인 저장공간을 가지므로 서로 다른 값을 가질 수 있습니다. 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스변수로 선언합니다.

 

 

static이 안붙은 변수는 인스턴스가 생성될때마다 생성되기 때문에 인스턴스 변수라고 부른다. 

 

댓글