개발 공부/Java

[Java] 선언위치에 따른 변수의 종류

양양츄 2024. 1. 18. 19:19

변수의 선언위치에 따라 인스턴스 변수   / 클래스 변수 / 지역 변수 세가지가 있다.

 

선언위치 

 - 클래스 영역

   인스턴스 변수(iv) : 변수 타입과 변수명으로 구성. 개별적 속성

   클래스 변수(cv) : 변수 타입 앞에 static이 붙는다. 공통 속성

* 공통 속성 : 객체를 생성하지 않아도 사용 가능하다. 형식 : 클래스이름.클래스변수

 

 - 메서드 영역

   지역 변수(lv) : 메서드 안에서 선언된다.

class Variables {
   // 클래스 영역
   int iv;        // 인스턴스 변수
   static int cv; // 클래스 변수(공유 변수)

   // 메서드 영역
   void lv() {
      int lv = 0;
   }
}

// 클래스변수(cv)는 객체 생성없이 사용 가능하다.
Variables.cv = 5;
System.out.println(Variables.cv);

// iv와 lv는 객체 생성이 필요하다.
Variables v = new Variables();
v.iv = 10;
System.out.println(v.iv);
System.out.println(v.lv);