같은 데이터 타입의 여러 변수를 하나의 묶음으로 다루는 자료구조
int [] numbers = new int[3];
int = 배열타입
[] = 배열선언
numbers = 배열의 주소 값
new = 배열 생성
(heap에 생성하는 레퍼런스 변수를 생성하는 연산자)
int = 선언한 배열 타입과 동일
[3] = 배열 크기
!반드시 배열의 크기를 먼저 알려줘야함
배열의 크기를 모른다면 만들 수 없음
python은 크기를 몰라도 가능
자료구조의 중요성


Stack - ex) 프링글스 통
- 자료가 순서대로 한층 한층 쌓임
자료를 꺼낼때도 맨 위부터
[ LIFO ]
Last In First Out
Queue - ex) 배관
- 꺼내는 구멍 맨앞 맨뒤
[ FIFO ]
First In First Out
__변수 설정하여 저장소에 저장할 때 규칙없이 랜덤으로 저장한다
데이터 검색 속도가 빠르고
많은 양의 데이터를 저장가능


[I = int 배열
626... = 주 소값
인덱스란?
배열의 시작 위치에서부터 데이터가 있는 상대적 위치
(0 부터 시작)
배열을 만들면 기본값을 자동으로 배정된다.
int = 0
String = null
String text = Arrays.toString(numbers);
그저 출력만 가능하기 때문에 자주 사용 안함
배열생성
int[] numbers = {1, 2, 3, 4 ,5};
배열의 공유

int[] numbers2 = {1, 2, 3, 4 ,5};
int[] numbers3 = numbers2;
// 주소를 공유함
numbers3[2] = 30;
// nubers2 도 같은주소라 변경됨
System.out.println(numbers2[2]);
int[] numbers3 = numbers2.clone;
// 사용하면 주소 공유 X
