Programming/Java

3. 배열

주죵 2020. 12. 30. 23:54
728x90
반응형

배열이란?

여러개의 변수(데이터)를 모아놓은 요술주머니라 생각하면 된다.

#이 강의에서는 할당되는걸 요술주머니에 집어넣는거라 표현하신다.. 6년점 컴프수업 갬성마냥..ㅎ

 

배열문법

1. 배열선언

변수선언과 비슷함. 여러개의 데이터가 모여있어서 중괄호{} 사용.

배열의 크기는 최초에 한번 설정되면 변경이 불가함

//배열선언 예시
//1
int[] iArr = {10,20,30,40}

//2
int[] iArr = new int[5]
//배열의 크기만 정하고 이후에 할당
int[0] = 10;
int[1] = 20;
int[2] = 30;
int[3] = 40;
int[4] = 50;

2. 메모리구조

배열 안 각 데이터의 주소값을 배열 안에 저장함.

 

3. 레퍼런스의 이해

위에 주소값등르 '레퍼런스'라고 한다. 만약 동일한 주소값을 가지고 있다면 같은 데이터를 가리키고(가지고) 있다고 보면 된다.

//예시
int[] iarr1 = {10,20,30};
int[] iarr2 = iarr1;

iarr2[0] = 100;
iarr2[1] = 200;
iarr2[2] = 300;

System.out.println(iarr1[0]);
//100값 출력된다.
//같은 reference 참조중인데, 그 내부 내용이 바뀌었기 때문에 바꾼건 iarr2지만 iarr1에서도 변화 적용된다.

위의 그림처럼 생각하면 이해가 쉽다.

 

4. 다차원배열

배열이 가르키는 데이터에 또다른 배열이 들어있는 구조.

//위 그림과 같은 모양의 다차원 배열 형성시
int[][] iarr = new int[3][];
int[0] = new int[2];
int[1] = new int[3];
int[2] = new int[2];
iarr[0][0] = 10;
iarr[0][1] = 20;
...

 

728x90

'Programming > Java' 카테고리의 다른 글

6. 패키지 및 접근제한  (0) 2021.01.03
5. 객체지향 프로그래밍  (0) 2021.01.03
4. 객체지향 프로그래밍  (0) 2021.01.03
2. 변수와 연산자  (0) 2020.12.30
1. Java란  (0) 2020.12.29