본문 바로가기
JAVA

정적 변수 vs 인스턴스 변수

by 융디's 2024. 3. 31.
728x90
정적 변수 vs 인스턴스 변수

정적 변수 vs 인스턴스 변수

@2024.03.19

class Pen{
    public static String type;
    public String color;
}

public class PenTest {
    public static void main(String[] args) {
        Pen pen1 = new Pen();
        Pen pen2 = new Pen();

        pen1.color = "orange";
        pen2.color = "red";

        pen1.type = "gel pen";
        pen2.type = "ink pen";

        System.out.println(pen1.type);
        System.out.println(pen2.type);
        System.out.println(pen1.color);
        System.out.println(pen2.color);
    }
}
💡
gel pen ink pen
ink pen
orange
red

  • 변수를 static 키워드를 사용하여 선언 → Pen 클래스의 인스턴스마다 개별적으로 유지되는 것이 아니라 클래스 수준에서 유지된다.
  • 따라서 pen1.typepen2.type 모두 동일한 type 변수를 참조하게 됩니다.
    • 서로 수정 사항을 공유하게 된다.

728x90

'JAVA' 카테고리의 다른 글

얕은복사 vs 깊은복사  (0) 2024.03.31
Scanner 클래스  (0) 2024.03.31
TDD  (0) 2024.03.31
배열  (1) 2024.03.31
Label  (0) 2024.03.31