728x90
반응형
정적(static)메서드와 변수는 클래스 내부에 정의하지만 인스턴스에는 속하지 않는다. 대개 클래스 이름을 통해 정적 메서드와 정적 변수에 접근한다.
※ 정적 메서드와 변수에 접근할 때는 클래스 이름을 이용하는 것을 추천
=> 인스턴스를 이용해서 접근하면 혼란을 야기할 수 있기 때문이다.
인스턴스나 클래스 자신을 참조해서 클래스 멤버 변수를 관리할 수 있음을 보여주는 예
public class ExampleClass {
public static int EXAMPLE_VALUE = 6;
}
@Test
public void staticVariableAccess(){
assertEquals(ExampleClass.EXAMPLE_VALUE, 6);
ExampleClass c1 = new ExampleClass();
ExampleClass c2 = new ExampleClass();
c2.EXAMPLE_VALUE = 22; // 가능하지만 추천x
assertEquals(ExampleClass.EXAMPLE_VALUE, 22);
assertEquals(c2.EXAMPLE_VALUE, 22);
}
728x90
반응형
'그 외 ... (정리해야함) > 질문과 답변' 카테고리의 다른 글
String은 메모리에 어떻게 저장되는가? (0) | 2019.05.02 |
---|---|
JAVA에서 다형성과 상속이란 무엇인가? (0) | 2019.05.02 |
final 키워드는 객체 참조에 어떤 영향을 미치는가? (0) | 2019.05.02 |
자바에서 객체란 무엇인가? (0) | 2019.05.02 |
Queue 와 Deque는 무엇인가? (0) | 2019.05.02 |