Static은 '고정된'이라는 뜻이 있다. Java에서 Static이라는 키워드를 사용하면 Static변수와 Static메소드를 만들 수 있다. 이를 정적 필드와 정적 메소드라고 하며 이 둘을 합쳐 정적멤버(클래스 멤버)라고 한다. 정적멤버는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버로 클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할 때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있다.
Static키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당되어 모든 객체가 참조하여 사용할수 있다. 그치만 Garbage Collector의 관리 영역 밖에 존재하기 때문에 Static영역에 있는 멤버들은 프로그램의 종료전까지 메모리가 할당된 채로 존재하게 된다. 따라서 Static을 너무 남발하면 시스템 성능에 악영향을 줄 수 있다.
🔗 학습 링크
'⚙️ 개발 > Java' 카테고리의 다른 글
JsonObject, JsonArray (0) | 2024.10.29 |
---|---|
VO(DTO)에서 private를 사용하는 이유 (0) | 2024.10.22 |
JVM, Method Area, Call Stack, Heap (0) | 2024.10.21 |
JSONParser() (0) | 2024.08.19 |
@ConfigurationProperties (0) | 2024.08.05 |