개발놀이터

정적 (static) 본문

Java

정적 (static)

마늘냄새폴폴 2022. 7. 28. 08:47

static

Java에서 static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미한다. 이를 정확히 이해하기 위해서는 메모리 영역에 대한 이해가 필요하다.

 

 

일반적으로 우리가 만든 class는 static 영역에 생성되고, new 연산자를 통해 동적할당된 객체들은 Heap 영역에 생성된다. 객체의 생성시에 할당된 Heap영역의 메모리는 GC를 통해 수시로 관리를 받는다. 하지만 static 키워드를 통해 static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 가지지만, GC의 관리 영역 밖에 있기 때문에 프로그램이 종료시까지 메모리가 할당된 채로 존재한다. 때문에 너무 남발하면 시스템 성능에 악영향을 미칠 수 있다.

 

 

'Java' 카테고리의 다른 글

객체지향 5대 원칙 SOLID  (0) 2022.08.01
자바의 Metaspace  (0) 2022.07.28
면접 준비 : 클래스와 객체  (0) 2022.07.28
어노테이션  (0) 2022.07.20
제네릭  (0) 2022.07.17