java

static(전역) 변수와 메모리 영역

공부짱짱열심히하기 2023. 1. 18. 17:45

 

메모리의 영역엔

stack heap data code의 영역이 있고

stack엔 지역변수와 매개변수처럼 호출시 사용되는 저장영역이다. 호출이 끝나면 그대로 소멸

 

heap의 영역은 사용자가 관리하며 메모리 공간이 동적으로 할당되고 해제 되는공간이다

 new는 클래스 타입의 인스턴스(객체)를 생성해주는 역할을 담당한다.  new 연산자를 통해 메모리(Heap 영역)에 데이터를 저장할 공간을 할당받고 이어서 생성자를 만든다. main에서 new 연산자를 통해 참조값을 저장한 객체로만 접근이 가능

 

데이터영역은 프로그램의 시작부터 종료가 될 때까지 메모리에 남아있게 된다. 다르게 말하면 전역변수가 프로그램이 종료될 때까지 어디서든 사용이 가능한 이유이기도 하다. 따라서 전역변수를 무분별하게 많이 사용하다 보면 메모리가 부족할 우려가 있어 필요한 변수만 사용할 필요가 있다

static은 메모리위치에 저장되며 프로그램이 종료 되면 해제 되는 변수다.

 

code 영역은 실행한 프로그램의 코드가 저장되는 영역으로 명령어를 직접 처리한다