728x90
반응형
static 변수를 사용할 때
- myStaticVariable 변수는 클래스를 이용하는 전역에서 공유
- myStaticVariable을 obj1을 통해 정의했지만, obj2에서도 동일한 myStaticVairable 메모리를 가리키고 있음
public class MyClass {
static int myStaticVariable; // 정적 변수
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
obj1.myStaticVariable = 10; // obj1의 인스턴스에서 정적 변수에 값을 할당
System.out.println(obj2.myStaticVariable); // 10 출력
}
}
static 변수를 사용하지 않을 때
- 클래스가 생성될 때 각각의 인스턴스 변수로 myStaticVariable이 생성
- obj1에서 정의된 myStaticVariable은 obj2에서 정의된 myStaticVariable과 다른 메모리를 가리킴
public class MyClass {
int myStaticVariable; // 인스턴스 변수
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
obj1.myStaticVariable = 10; // obj1의 인스턴스 변수에 값을 할당
obj2.myStaticVariable = 20; // obj2의 인스턴스 변수에 값을 할당
System.out.println(obj1.myStaticVariable); // 10 출력
System.out.println(obj2.myStaticVariable); // 20 출력
}
}
'Algorithm Study > Java' 카테고리의 다른 글
[코드트리/Java] 금 채굴하기 (2) | 2023.08.28 |
---|---|
프로세스와 쓰레드 (by 얄코) (0) | 2023.05.23 |
[BOJ JAVA] #2750 수 정렬하기 (0) | 2023.02.19 |
[자바의 정석] 기초편 (0) | 2022.01.13 |
[코드업 자바] # 1096 [기초-2차원배열] 바둑판에 흰 돌 놓기 (0) | 2021.12.27 |