배열은 참조변수 인데

int arr[];

arr ={1,2,3}; 은 안되고 왜


int arr [];

arr=new int[] {1,2,3}; 는 되는거야?



{1.2.3}도 똑같은 객체인데 new로 새로운 객체를 꼭 생성해야됨?


그리고


int arr1[] = {1,2,3};

int arr2[] = {4,5,6};

arr1=arr2;


이렇게 하면 arr1 에는 arr2의 참조주소 가 복사되서 arr1은 결국 arr2가 되는거 아니야?


씹빡머갈 이라 너무 햇갈린다 도움좀 주라