본문 바로가기
JAVA

7. static 변수와 instance변수

by seongju.lee 2022. 9. 17.

static 변수는 보통 객체의 공통적인 속성을 접근할 때 사용하며(공유),

instance 변수개별적인 속성에 접근할 때 사용된다.

 

java에서 권장하는 각 변수의 사용법은 아래와 같다.

class Card {

    String kind;
    int number;
    
    static int width = 100;
    static int height = 200;

}


Card c = new Card();

c.kind = "Heart";
c.number = 5;

Card.width = 200;
Card.height = 300;

위 코드처럼 객체를 생성하고 각 변수에 접근할 때,

인스턴스 변수의 경우 참조변수를 통해서 접근을 한다.

static 변수의 경우 클래스명을 통해 접근하는 것을 권장한다. (공유되는 메모리인데, 오해하기 쉬운 코드가 될 수 있기 때문이다.)

 

 

 

instance 변수와 static 변수의 큰 차이는 메모리를 공유하느냐의 차이이다.

instance 변수는 객체를 생성할 때마다 각 객체가 메모리에 할당되는 반면,

static변수는 클래스가 메모리에 올라갔을 때, 할당되어 모든 객체가 메모리를 공유할 수 있다.

'JAVA' 카테고리의 다른 글

9. 기본형&참조형 매개변수  (0) 2022.09.20
8. 호출스택  (0) 2022.09.18
6. 선언위치(클래스영역, 메소드영역)에 따른 변수의 종류  (0) 2022.09.17
5. 클래스의 정의  (0) 2022.09.17
4. 객체배열  (0) 2022.09.17