본문 바로가기

Java

객체지향개념1 - 선언위치에 따른 변수의 종류

반응형

변수의 선언위치가 변수의 종류와 범위를 결정한다. 

 

클래스(class) 영역에서 선언되면? 클래스 변수, 인스턴스 변수다. 

인스턴스는 객체를 생성해야 메모리에 올라간다. 클래스변수는 언제든지 사용 가능하다. 

 

메서드(method) 영역에서 선언되면? 지역변수다. 

 

class Variables {

int iv;			// 인스턴스 변수
static int cv;	// 클래스 변수 (static이 있기 때문에)	

void method() {    

int lv = 0; 	// 지역 변수 	

	}
	
}

 

어떤 객체를 만든다고 가정할 때, 공통 속성은 클래스 변수로 한다. 개별 속성은 인스턴스 변수로 한다.

예시 : 포커카드를 제조한다. 폭과 높이는 모든 카드의 공통 속성이기 때문에 클래스 변수(static)로 선언한다. 

하트 모양, 다이아몬드 모양, 클로버 모양, 숫자는 카드마다 다르기 때문에 인스턴스 변수로 선언한다. 

 

class Card {

String kind;		// 무늬 
int number;			// 숫자

static int width = 100;			//폭
static int height = 250;		//높이

}

 

반응형

'Java' 카테고리의 다른 글

중첩 if문  (0) 2023.03.16
변수의 초기화  (0) 2023.03.14
다형성(polymorphism) 개념  (0) 2023.03.06
열등감을 느꼈다  (0) 2023.03.03
Scanner next()와 nextLine() 메서드의 차이점.  (0) 2023.02.24