배열을 좀 끄적여 보고자 합니다.
배열은 같은 자료형의 변수를 하나의 묶음으로 표현하는 거라고 말한다고 하네
근데 우리는 보통 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번째 값의 주소를 참조하고 있다는 점!
그거만 기억하면 오늘 끝난거다
수고했따.
사진 두 장으로 오늘 배열을 마무리 해보고자 한다.
고생했따!
대신 정말 까먹지 말자
배열의 특징, 배열이 어떻게 되어있는지 그림 기억하기
까먹으면
그냥 뒤지는거다