Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Min's dev-log

[JAVA] 클래스 변수 본문

JAVA

[JAVA] 클래스 변수

minyy 2023. 5. 3. 01:55

인스턴스 변수

객체 변수, 멤버 변수

객체끼리 값을 고유하지 않는다. 객체마다 고유한 값을 가진다.

 

클래스 변수

정적변수, static

공유자원 => 이 변수의 주인은 클래스이다. => 객체끼리 값이 공유된다.

 

▼ 공유자원

class A{
	int memA;
	static int memB; // static이 붙어서 클래스변수
	// static 클래스변수는 객체끼리 값을 공유한다.
	// "객체와 무관하게" => 너가 무슨객체든간에 상관안한다. 주인이 클래스여서
	// 어떤 객체가 건드려도 전체적용이 된다.
	void info() {
		System.out.print(this.memA); // this.멤버변수
		System.out.println(" "+A.memB); // 확인하는 오류
		System.out.println();
	}
}
public class Test01 {

	public static void main(String[] args) {
		A a1=new A();
		A a2=new A();
		
		a1.memA+=10;
		a1.memB+=20; // A.memB+=20;
		// 객체로 접근해도 결과는 똑같다
		// a1만 한건데 a2도 값이 변했다
		
		// static 클래스변수는 객체끼리 값을 공유한다.
		// 주인이 클래스이고 그 클래스로 객체 a1,a2를 만들었기때문에 
		// 클래스변수인 memB를 a1에서 값을 넣든 a2에서 넣든 두 객체에 
		// 모두 적용된다.
		
		a1.info();
		a2.info();
	}
}

'JAVA' 카테고리의 다른 글

[JAVA] 상속  (0) 2023.05.04
[JAVA] 객체 배열  (0) 2023.05.03
[JAVA] 생성자  (0) 2023.05.02
[JAVA] 클래스와 객체  (0) 2023.05.01
[JAVA] 객체 지향 언어  (0) 2023.05.01
Comments