선언위치에 따른 변수의 종류 ( Java)

rivermt·2023년 8월 24일
0

JAVA

목록 보기
8/9

변수는 클래스 변수, 인스턴스 변수, 지역 변수 모두 세 종류가 있다.
변수의 종류를 결정짓는 중요한 요소는 바로 '변수의 선언된 위치'이다.

멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수,붙지 않은 것은 인스턴스 변수이다.

class Variables {
	int instance_v; // 인스턴스 변수
    static int class_v; // 클래스 변수
    
    void method() {
    	int local_v; // 지역 변수
    }
}

클래스 변수

  • 선언위치 : 클래스 영역
  • 생성시기 : 클래스가 메모리에 올라갈 때 (클래스 로드 시)
  • 모든 인스턴스가 공통된 저장공간(변수)를 공유한다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 속성의 경우 선언
  • 클래스 변수는 인스턴스를 생성하지 않고도 사용할 수 있다.
    -ClassName.class_variable 같은 형식으로 사용
  • 클래스 로딩 시 생성되어 프로그램이 종료될 때 까지 유지

인스턴스 변수

  • 선언위치 : 클래스 영역
  • 생성시기 : 인스턴스가 생성될 때 (해당 클래스의 객채 생성 시)
  • 인스턴스는 독립적인 저장 공간을 가지므로 서로 다른 값을 가질 수 있다. 인스턴스 마다 고유한 상태를 유지해야하는 속성의 경우 선언

지역 변수

  • 선언위치 : 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부)
  • 생성시기 : 변수 선언문이 수행될 때
  • 메서드(블럭) 내에 선언되어 해당 메서드 안에서만 사용가능하며, 메서드가 종료되어 소멸되면 사용할 수 없다.
profile
화이팅!!

0개의 댓글