1) 같은 타입의 여러변수를 합쳐놓은 형태와 비슷
2) 데이터 공간 수정/변경이 어렵다.
3) 변수 == 단독주택 / 배열 == 아파트
4) 선언
타입[ ] 변수명;
타입 변수명[ ];
int[ ] arr; -> 배열
int arr[ ];
String[ ] str;
int a; -> 변수
int[ ] arr;
int : 배열의 타입, 배열에 저장할 수 있는 데이터들의 타입
[] : 배열만든다 선언
arr : 배열의 이름, 배열에 대한 레퍼런스(주소) 변수, (레퍼런스==참조)
선언만으로는 배열의 공간이 할당되지 않으며, arr이라는 레퍼런스 변수만 선언된 상태.
레퍼런스 변수는 실제값이 저장되는 배열 공간의 주소값(레퍼런스값)을 저장하며
그 자체가 배열은 아니다.
배열 공간이 생성되지 않았기 때문에 선언만 할 시,레퍼런스 변수의 초기값은 null 이다.
-> 레퍼런스 = 배열의 주소값
-> 레퍼런스 변수 = 주소값을 저장하는 변수
int[] math = {100, 90, 80, 70, 60}; // 값을 지정했으므로 new를 해줄필요가 없다.
int[] math;
math = {100, 90, 80, 70, 60};
int [][] arr = new int [5][3];