▶ 2차원 배열 1차원 배열 여러개를 하나로 묶은 것 ■ 2차원 배열 선언 [표현법] 1. 자료형 배열명 [][]; 2. 자료형 [][] 배열명; => 가장 많이 사용된다. 3. 자료형 [] 배열명 []; ex) int arr1[][]; int [][] arr2; int [] arr3 []; ■ 2차원 배열 할당(크기 기정) [표현법] 배열명 = new 자료형[행크기][열크기]; ex) arr3 = new int[2][3]; ■ 2차원 배열 선언과 동시에 할당x [표현법] 자료형[][] 배열명 = new 자료형[행크기][열크기]; ex) int[][] arr = new int[3][5]; ■ 2차원 배열 선언 및 할당과 동시에 초기화 [표현법] 자료형[][] 배열명 = { {초기화 값}, {초기화 값} ..
▶ 배열 복사 - 얕은 복사 : 배열의 주소값만을 복사 원본 배열과 복사본 배열 모두 하나의 주소값을 가르키고 있다. 즉, 얕은 복사를 한 복사본 배열과 원본 배열은 배열의 주소값은 하나로 공유해서 사용한다. - 깊은 복사 : 동일한 새로운 배열을 하나 생성해서 실제 내부값들을 복사 ■ 얕은 복사 방법 [표현법] 자료형[] 복사본배열 = 원본배열 ■ 깊은 복사 1. for을 활용하는 방법(수작업) 새로운 배열을 생성하 인덱스 별 내부값을 일일이 대입하는 방법 예시) int[] origin = {1, 2, 3, 4, 5}; int[] copy = new int[origin.length]; for (int i = 0; i < copy.length; i++) { copy[i] = origin[i]; } for..
▶ 배열 - 변수는 하나의 공간에 하나의 값을 담을 수 있지만 배열은 하나의 공간에 여러개의 값을 담을 수 있다. (같은 자료형의 값으로만 가능하다.) 정확히 이야기하자면 배열의 각 인덱스 자리에 실제 값이 담긴다. (인덱스는 항상 0부터 시작한다.) int[] a = new int[3]; // int 형의 자료가 들어갈 수 있는 방을 3개 만든다. - 한번 지정한 배열의 크기는 변경이 불가능하다. => 배열의 크기를 변경해서 더 많은 값을 넣고자한다면 어쩔 수 없이 새로운 배열을 만들어줘야한다. - 항상 고유한 주소값 부여하며 기존에 생성된 주소와 절대로 겹치지 않으며 기존에 참고하고 있던 연결이 끊기고 새로운 곳을 참조한다. - 연결이 끊어진 기존의 배열은 heap영역 안에 둥둥 떠다니고 일정시간이 ..