반응형
ch6-12 클래스변수 인스턴스 변수
지난 시간 어떤 영역에 선언하느냐에 따라서 변수의 이름이 달라진다고 배웠다.
숫자와 무늬는 객체마다 다르게 유지되어야 하는 속성
폭과 높이는 모든 객체가 공통적으로 가져야 하는 속성이다.
클래스 변수 cv - 공통적인 속성
인스턴스 변수 lv - 개별속성
정확히는 cv 클래스 변수는 참조변수를 쓰는 것이 아니라, 클래스 이름으로 사용해야 한다.
Card.width = 300;
iv는 객체마다 공간이 있지만, cv는 단 하나이다.
객체가 두개 일 때 iv 인스턴스 변수가 두개
메모리 공간을 절약하기 위해서 cv는 다른 공간에 하나만 만들어진다.
ㄴ MemberVar 플래시 파일을 참조할 수 있다.
메모리가 변화하는 과정을 보여준다.
고생해서 보라는 것이 아니라, 중요한 만큼 플래스로 만들었다!
실습 6-3
cv는 객체 생성하지 않고, 바로 사용 가능하다.
c1.width - 50; 인스턴스 iv 변수 같지만, cv 클래스 변수이다.
따라서 클래스 변수와의 혼동이 없도록
c1 객체만 변경했는데 c2도 변경한 모습이 보이기 때문에
Card.width = 50; 과 같이 변경해야 한다.
모든 객체가 공유하는 cv값이 변화한 것을 명시하기 위해서
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-17~19 메서드호출 (0) | 2022.03.08 |
---|---|
[자바의 정석 - 기초편] ch6-14~16 메서드란? 메서드의 선언부와 구현부 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-11 선언위치 변수종류 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-9,10 클래스의 정의 (0) | 2022.03.07 |
[자바의 정석 - 기초편] ch6-8 객체배열 (0) | 2022.03.07 |