1. 선언위치에 따른 변수의 종류


  • 변수의 종류
    : 클래스 변수, 인스턴스 변수, 지역변수
    • 변수의 종류를 결정짓느 요소 = 변수의 선언된 위치
  1. 인스턴스변수(instance variable)

    • 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우 인스턴스 변수로 선언

  2. 클래스변수(class variable)

    • 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다.
    • 인스턴스를 생성하지 않아도 사용 가능 (클래스이름.클래스변수)
    • 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지 됨

  3. 지역변수 (local variable)

    • 메서드 내에 선언되어 메서드 내에서만 사용 가능
    • 메서드가 종료되면 소멸

Ex)

class Variables {
	int iv;			  // 인스턴스변수
    static int cv;    // 클래스변수(static 변수, 공유변수)
    
    void method()
    {
    	int lv = 0;   // 지역변수
    }
}

2. 클래스변수와 인스턴스변수


=> 인스턴스변수는 인스턴스가 생성될 때 마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하므로, 항상 공통된 값을 갖는다.



java의 정석 chapter6

profile
Full Stack Developer 📚

0개의 댓글