brunch
매거진 JAVA 그림책

배열(array) 이란?

* 이 내용은 철저히 초심자를 위해 알기 쉽게 설명하는 것을 목적으로 하고 있습니다.

* 더 정확하고 자세한 개념은 다른 고수님들의 글들을 참고하시길 바랍니다.

* 그리고 이 글에서는 코드를 다루고 있지 않습니다.


자바에서 우리는 데이터를 담는 컵, 변수에 대해 배웠습니다. 이번엔 그 컵을 일렬로 세워놓은 형태인 배열에 대해서 배워 보겠습니다.

이 배열이 무엇인지, 왜 유용한지 한번 알아봅시다.


변수는 무언가를 담는 컵이었으며 여러 개가 있을 때 서로를 구별할 라벨, 변수명이 필요했습니다.

하지만 이 변수의 내용이 너무 많아질 경우 하나하나 이름을 붙이기 어렵습니다.


그래서 한 가지 아이디어를 냅니다.

이름을 하나만 짓고, 나머지 컵들을 일렬로 세워놓는 것이죠. 그럼 이 컵들의 이름은 어떻게 될까요?


바로 기준이 되는 이름이 있는 컵에서부터 몇 칸이나 떨어져 있느냐? 가 컵들의 이름이 되는 것입니다.


배열

배열을 만들 때는 변수와 마찬가지로 어떤 크기와 용도의 컵을 사용할지를 정해야 합니다. 더불어 그 컵을 몇 개나 일렬로 놓을지도 정해야만 합니다.


컵의 크기는 용도에 맞춰 정해야 한다는 것은 이미 알고 있는 사실이지요?하지만 배열을 만들 때 길이도 미리 정해야 한다는 건 다소 생소하고 의아할 수도 있습니다.


하지만 우리가 단체로 회식을 가는 경우를 상상해 보면 의문은 금세 풀리게 됩니다.


우리가 회식을 가기 전 식당에 해당 인원이 앉을 수 있는 자리를 문의를 하는데, 그 이유는 모두 다 같이 앉을 수 있는 자리가 있는지를 물어보기 위함이죠?


모두 각자 떨어진 자리에 앉아서 회식을 하는 것은 의미가 없기 때문이죠, 배열도 마찬 가지로 기준으로부터 1열로 위치해야 하기 때문에 해당 공간이 확보되어야 합니다.


다차원 배열

이렇게 1열로 배치시킨 배열을 우리는 1차원 배열이라고 부릅니다. 그리고 이런 1차원 배열이 아래로 확장되는 것을 2차원, 2차원 형태를 겹겹이 쌓은 형태를 3차원 배열이라고 부릅니다.


이런 배열의 차원은 프로그래밍 언어마다 2차원부터 7차원, 또는 무한의 차원을 지원합니다.


통상적으로 2차원 배열 이상을 잘 사용하진 않지만, 4차원 이상의 배열은 어떤 개념으로 생각해야 할지 다소 난감할 것입니다.


3차원 까지는 우리가 살고 있는 세상의 개념이지만 4차원 이상부터는 상상의 영역이니까요.

하지만 걱정할 필요 없습니다. 우리가 아주 이해하기 편한 방법으로 다차원 배열을 이해할 수 있으니 말이죠.


바로 배열을 아파트로 비교해 생각하면 편 합니다.

1차원 배열은 단층짜리 아파트이고, 2차원 배열은 층이 있는 아파트로 생각하면 됩니다.


그렇다면 3차원부터는 어떻게 생각하면 될까요?

아파트 호실에 들어가면 있을 방으로 생각하면 됩니다.


그렇다면 4차원은? 0번 방안에 들어갔더니 이 안에는 물건을 보관하는 여러 상자가 존재하는군요. 이것이 4차원 입니다.


즉 차원은 아파트의 특별한 층->호->방->...으로 생각하면 된다는 것입니다.


이렇게 배열에 대해서 알아보았습니다.

배열은 하나의 이름으로 여러 변수를 사용할 수 있으며,

한 줄로 세워 놓은 형태부터 다소 복잡한 형태로도 구성할 수 있었습니다.


이런 배열을 어느 상황에 사용하면 좋을지 한번 생각해 보는 건 어떨까요?

keyword
매거진의 이전글형변환