Gom3rye

[객지프] 1 page summary - 2차 배열 & OOP 준비 실습 본문

카테고리 없음

[객지프] 1 page summary - 2차 배열 & OOP 준비 실습

Gom3rye 2022. 4. 9. 22:27

2차 배열

1차 배열이 모아져있는 메모리 공간을 가리키는 주소라면 2차 배열은 행이 1차 배열을 참조하고 그 1차 배열이(행 배열) 또 열을 가르키는 1차 배열을 참조하고 있는 것이다.

2차 배열 선언

int [][] array; 로 선언하는 것이 int array[][]; 로 선언하는 것보다 더 좋다. (배열을 선언했다는 것이 바로 보이니까)

2차 배열 생성

array = new int[2][5]; 로 이미 선언된 배열 변수에 new를 이용해 실체를 만들어준다.

선언과 동시에 생성

int [][] array = new int[2][5];

2차 배열 초기화

- 직접 초기화 : int [][] array = {{0,1,2},{3,4,5},{6,7,8}};
- for 문을 이용해 초기화 (1차 배열을 초기화하는 코드를 for문 앞에 넣어서)
- 이중 for 문을 이용해 초기화

2차원 배열의 length

array.length => 2차원 배열의 행의 개수로서 2

array[3].length => 3번째 행의 열의 개수, 따라서 5

정방형 배열 vs 비정방형 배열

정방형 배열 - 각 행의 열의 개수가 같은 배열 Ex) int [][] array = new[2][5] (각 행의 열의 개수가 모두 5로 같다.)

비정방형 배열 - 각 행의 열의 개수가 다른 배열, 따라서 비정방형 배열의 length는 행마다 결과가 다를 수 있다.

비정방형 배열의 생성

- 직접 초기화

Ex) int [][] i = new int [4][];

    i[0] = new int [1];

    i[1] = new int [2];

    i[3] = new int [3];

    i[4] = new int [4];

- for 문을 통해 

OOP 준비 실습

아마테라스를 통해 클래스 다이어그램을 만들고 이를 java> export> src(경로 설정) 통해 바로 실제 코드로 만들 수 있다.

- generation : 하위 클래스가 상위 클래스를 상속 받을 수 있도록 한다. (삼각형 화살표)

- 상속은 Is-Kind-of, is-A 관계가 명백히 성립할 때만 쓴다. Ex) 토르 is-Kind-of 플레이어 -> 토르는 플레이어를 상속받을 수 있다.

- 플레이어 Has-A 무기 관계일 때,

색깔 채워진 다이아몬드 -> 내가 죽었을 때 그 자원도 없애고 싶을때
빈 다이아몬드 -> 내가 죽어도 그 자원 살리고 싶을 때

728x90
반응형