어뤠이~

gotcha!!·2022년 12월 21일
0

배열을 좀 끄적여 보고자 합니다.

배열

배열은 같은 자료형의 변수를 하나의 묶음으로 표현하는 거라고 말한다고 하네

근데 우리는 보통 1번 2번 3번 이렇게 생각하는데

컴퓨터에서는 제일 첫 번째를 0번으로 표현한다고 한다.

걍 1번으로 표현하면 안되겠니?

그래서 제일 첫 번째 배열의 인덱스 번호는 0번으로 시작하게 된다.

배열 선언과 할당

변수에서도 배웠듯이, 배열에서도 선언과 할당 방법이 있다...

배열 선언

자료형 배열명[];   ex) int arr[];
자료형[] 배열명;	ex) int[] arr;

이렇게 자료형 배열명 순서로 작성해주면 된다.
대괄호의 위치는 어디든 상관이 없으니 내가 편한대로 작성하면 괜찮겠다. :)

배열 할당

선언을 했으니 할당도 해봐야지.

자료형 배열명[] = new 자료향[배열크기]
자료형[] 배열명 = new 자료형[배열크기]

간단하다.

그냥 new 자료형[크기]만 넣어주면 된다.

근데 한 가지 명심해야하는 것은

배열 크기가 정해지면 다시 변경이 안되는 건 기억하자.

배열의 저장구조

배열의 저장구조를 보기 전에 JVM 메모리 구조를 봐야한다.

3개의 영역이 사진에서 보듯이 있다.
static, heap, stack...
배열 배우고 있는데 뭔 갑자기 듣도 보도 못한 JVM이 나오냐..

배열이 어떤 메모리 구조로 이루어져 있는지 알기 위해서 사진 속 구조를 알아야한다.

근데 static 까지는 안보고, 배열은 Stack 영역과 Heap 영역이 관련되어 있기에 오늘은 저 두가지 영역을 살펴봐야지 ㅎㅎ

사진 속에서 보다시피, 배열이 선언과 동시에 할당이 되었다.

int라는 자료형의 arr의 참조 변수는 stack영역에 생성되었고,
heap영역에는 길이가 4인 배열이 생겼다.

사진을 잘 보면 한 가지 특징이 있다
0x1234가 두 개나 있다.
이건 주소값이라는 건데

arr이라는 참조 변수가 heap영역의 배열의 0번째 주소값을 가리키고 있다.
이 뜻은 참조 변수는 0번째 값의 주소를 참조하고 있다는 점!

그거만 기억하면 오늘 끝난거다

수고했따.

사진 두 장으로 오늘 배열을 마무리 해보고자 한다.

고생했따!

대신 정말 까먹지 말자

배열의 특징, 배열이 어떻게 되어있는지 그림 기억하기

까먹으면

그냥 뒤지는거다

profile
ha lee :)

0개의 댓글