Java - IV & CV

iseon_u·2022년 4월 22일
0

Java

목록 보기
17/77
post-thumbnail

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


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

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

		void method() { // - 메서드 영역
				int lv = 0; // 지역 변수 (Local variable) 
		}
}
  1. 클래스 영역 (선언문만 가능)
    1. 인스턴스 변수 instance variable
      • 객체를 생성해야 사용 가능
    2. 클래스 변수 class variable (static + iv)
      • 객체 생성을 안해도 된다. (아무때나 사용 가능)
      • class 파일 읽을 때 자동 생성
  2. 메서드 영역 (메서드 시작부터 끝)
    1. 지역 변수 local variable
      • 메서드 종료시 자동 제거
변수의 종류선언 위치생성 시기
클래스 변수 (class variable)클래스 영역클래스가 메모리에 올라갈 때
인스턴스 변수 (instance variable)클래스 영역인스턴스가 생성 되었을 때 ⭐
지역 변수 (local variable)클래스 이외의 영역 (메서드, 생성자, 초기화 블럭)변수 선언문이 수행 되었을 때

📖 객체는 인스턴스 변수들의 묶음이다.

class Alpabet {
		int number;
		String kind;
		static int width = 10;
		static int height = 10;

특징

인스턴스 변수

  • 개별적인 속성을 갖는 변수

클래스 변수

  • 공통적인 속성을 갖는 변수
  • 인스턴스 변수 앞에 static 을 붙여서 생성

사용

Alpabet abc = new Alpabet();
abc.number = 5; // 인스턴스 변수
abc.kind = "Eng";
Alpabet.width = 20; // 클래스 변수
Alpabet.height = 20;
  • 클래스 변수에 참조 변수 대신 클래스를 사용한다. (⭕ 권장)
  • 참조 변수를 사용해도 된다. (❗비권장)
profile
🧑🏻‍💻 Hello World!

0개의 댓글