반응형
public class Card {
String kind;
int number;
static int width = 100;
static int height = 250;
public static void main(String[] args) {
Card c1 = new Card();
Card c2 = new Card();
System.out.println("Card.width = " +Card.width);
System.out.println("Card.height = " +Card.height);
c1.kind = "Spade";
c1.number = 7;
c2.kind = "Heart";
c2.number = 3;
System.out.println("c1은" + c1.kind + "," + c1.number + "이며, 크기는 (" + c1.width +","+ c1.height +")" );
System.out.println("c2는" + c2.kind + "," + c2.number + "이며, 크기는 (" + c2.width +","+ c2.height +")" );
Card.width = 50; // 클래스 변수 값을 변화시킨다. c1말고 Card로 쓰는 것이 정확함.
Card.height = 80;
System.out.println("c1은" + c1.kind + "," + c1.number + "이며, 크기는 (" + c1.width +","+ c1.height +")" );
System.out.println("c2는" + c2.kind + "," + c2.number + "이며, 크기는 (" + c2.width +","+ c2.height +")" );
}
}
클래스 변수(Static붙음)는 객체 생성 없이 '클래스이름.클래스 변수'로 직접 사용이 가능하다.
인스턴스 변수의 값을 변경하는 것과 클래스 변수의 값을 변경하는 것을 연습할 수 있는 문제다.
클래스 변수는 인스턴스(객체)가 하나의 저장공간을 공유하기 때문에, 항상 공통된 값을 갖는다.
반응형
'코딩 하루 1문제 프로젝트' 카테고리의 다른 글
코딩테스트 모스부호(1) 문제 풀기. switch 문. (0) | 2023.03.23 |
---|---|
getter setter 예제 (0) | 2023.03.05 |
객체지향 개념 - 상속(inheritance) 문제 (0) | 2023.03.04 |
for문 예제 (0) | 2023.03.02 |
문자형 배열 문제 (0) | 2023.02.28 |