package class02;
// 멤버변수 : 인스턴스(객체)변수 | 클래스변수==[공유자원]
class A {
int num1; // 멤버변수 -> 객체마다 고유한 값 == 객체끼리 값을 공유X
// 인스턴스(객체) 변수
static int num2; // 클래스변수-> 객체끼리 값을 공유한다는건... a객체의 변화가 b객체에게도 영향을 줌!! 확인방법: num2가 기울어짐!
void showInfo() {
System.out.println("num1= " + num1);
System.out.println("num2= " + num2);
}
A(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
}
public class Test05 {
public static void main(String[] args) {
A a1 = new A(1, 2);
A a2 = new A(10, 20);
a1.num1 += 100;
a1.num2 = 2;
a1.showInfo();
a2.showInfo();
}
}
쉽게 클래스 변수는 공유자원이다.
내가 만든 클래스공간, 메인공간 상관 없이 계속해서 공유한다.
static의 뜻은 객체와 무관하게라는 뜻이기 때문에 클래스 변수를 선언 할 때 사용하면 된다.
출력값
num1= 101
num2= 2
num1= 10
num2= 2
'개발자노트' 카테고리의 다른 글
클래스)멤버변수와 클래스변수의 이해(카드사용예제) (0) | 2022.06.17 |
---|---|
클래스) 멤버변수와 클래스변수의 차이 이해(강아지 학원) (0) | 2022.06.17 |
클래스)생성자와 기본 생성자의 이해(학생 기록부) (0) | 2022.06.17 |
클래스) 생성자와 기본 생성자의 관계 이해(점,좌표찍기) (0) | 2022.06.17 |
클래스) 생성자와 기본 생성자의 관계(인자값) (0) | 2022.06.17 |