new는 자바의 예약어이자 연산자이다
객체를 생성할 때 사용한다

 

간단하게 new를 활용해서 int형 배열을 선언해 보자

int[] arr = new int[3];

 

int형 변수를 선언하고 초기화하는 코드와 비교해 보자

int num = 4;

 

위에 두 라인이 유사함을 알 수 있다

(자료형) (변수명) = (초기화 값);

 

다만 배열의 경우 객체이기 때문에 초기화를 위해 new 키워드를 사용해 주었다

 

 

이번에는 컴퓨터 내부에서 데이터를 메모리에 어떻게 저장하는지 살펴보자

우선 스택 메모리와 힙 메모리가 있다

(메모리에 대한 자세한 내용은 나중에 따로 포스팅해보자)

 

 

아래 코드의 경우 메모리에 다음과 같이 저장된다

int num = 4;

 

 

 

스택 메모리에 num이란 이름의 공간을 배정하고 값을 저장했다

 

new 연산자를 활용한 아래 코드는 어떻게 동작하는지 나눠서 살펴보자

int[] arr = new int[3];

 

위 코드는 우선 `new int[3]` 부분이 동작한다

힙 메모리에 공간을 배정한다

 

 

그 이후에 힙 메모리의 주소값을 스택 메모리 공간에 저장한다

 

 

그래서 arr을 그대로 출력하면 사람이 알아볼 수 없는 복잡한 주소값을 보게 된다

+ Recent posts