개발 일지/Java

[Java] static 키워드

미숫가루설탕많이 2022. 12. 27. 23:23

 static 키워드는 정적 변수(static variable)를 선언하기 위해서 사용하는 키워드다.

 

 static은 클래스의 멤버(필드, 메서드, 이너 클래스)에 사용하고 static 키워드가 붙어있는 멤버를 '정적 멤버(static member)'라고 부르고 static이 붙어있지 않은 인스턴스 변수와 구분한다.

 

 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이므로 서로 다른 값을 유지한다. 경우에 따라서 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우에 static을 붙인다.

 

 인스턴스 멤버는 반드시 객체를 생성한 이후에 변수와 메서드에 접근하여 해당 멤버를 사용할 수 있지만, static 키워드로 정의되어 있는 클래스 멤버들은 인스턴스의 생성 없이도 사용이 가능하다. new 키워드를 통해 생성된 인스턴스는 힙 메모리에 생성되고 독립적인 저장공간을 갖는 반면, static 키워드로 선언된 정적 멤버는 클래스 내부에 저장 공간을 갖고 있기 때문이다.

 

클래스명.멤버명

 

 정적 멤버도 객체를 생성한 이후 참조 변수를 통해 사용이 가능하지만, 정적 멤버임을 표시하기 위해서 '클래스명.멤버명'의 형태로 사용할 것을 권장하고 있다.

'개발 일지 > Java' 카테고리의 다른 글

[Java] 메서드 오버로딩(Method Overloading)  (0) 2022.12.27
[Java] 메서드(Method)  (0) 2022.12.27
[Java] 필드(Field)  (0) 2022.12.27
[Java] 객체(Object)  (0) 2022.12.27
[Java] 클래스(Class)  (0) 2022.12.27