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을 그대로 출력하면 사람이 알아볼 수 없는 복잡한 주소값을 보게 된다
'-- Language -- > Java' 카테고리의 다른 글
[JAVA] 접근제어자 이해하기 (0) | 2023.12.18 |
---|---|
[JAVA] Java Doc 주석 (0) | 2023.12.15 |
[JAVA] 인터페이스와 추상 클래스의 차이 (0) | 2023.12.09 |
[JAVA] 추상 클래스와 추상 메서드의 이해와 활용 (1) | 2023.12.08 |
[JAVA] for each 문 (0) | 2023.11.24 |