본문 바로가기



프로그래밍/JAVA

[JAVA] 자바의 변수 선언 특이성 static이 있고 없고 차이

static 으로선언된 변수는 클래스 변수라고 이해하면 쉽다. 클래스 자체는 객체지향의 기본적인 개념에서 많이 다루듯이 설계도 같은것인데, 코드상에서는 static으로 구현되는 변수가 된다. USB메모리를 생산한다고 치면, static 변수로 만들어야 하는것은 크기관련 속성이 될 수 있을것이다. 이를 코드로 구현하면 아래와 같다.

static USB_memory width = 500 ;
static USB_memory height = 100 ; 

그리고 다른 인스턴스는 모델마다 다르게 부여되는 속성을 지정하면 된다. 여기서는 최대 쓰기속도를 모델마다 다르게 만든다고 하고, 이를 코드로 구현하면 다음과 같다.

int preformance_Max_Write = 200;
int designer_Max_Write = 100; 

합쳐서 하나의 코드로 구현하면 다음과 같다.

class USBMem {
//usb 케이스 크기
static USB_memory width = 500 ;
static USB_memory height = 100 ; 

//usb 쓰기속도
int preformance_Max_Write = 200;
int designer_Max_Write = 100; 

//usb 읽기속도
int preformance_Max_Read = 500;
int designer_Max_Read =350;
}