속성 : 무늬, 숫자, 폭, 높이
개별 속성(iv) : 무늬, 숫자
공유 속성(cv) : 폭, 높이
class Card {
String kind; // 무늬
int number; // 숫자
static int width = 100; // 폭
static int height = 250; // 높이
}
cv의 올바른 사용법
Card c = new Card();
c.kind = "HEART";
c.number = 5;
Card.width = 200; // c.width = 200 가능하나 권장안함
Card.height = 300; // c.height= 300 가능하나 권장안함
※ width, height의 경우 공유 속성이다. 따라서 c1.width = 50; c1.height = 80; 으로 선언하면 자칫 c1의 속성만이 변경되는 것으로 느껴질 수 있다. 하지만 사실 공유속성이므로 c2.width, c2.height도 마찬가지로 50, 80을 출력한다. 이는 혼동을 주는 안 좋은 방법이므로 권장하지 않는다.
cf )
Method Area 영역 : 클래스 존재
(cv는 메모리에 1개만 만들어짐. 클래스 최초 선언 시 Card c1 = new Card();)
Heap 영역 : 객체를 만들 때마다 생김
(iv 여러개 존재 Card c1 = new Card(); Card c2 = new Card(); ...)