개발/Java

Java에서의 배열: 기초

ju_ni_ 2023. 7. 13. 13:22
반응형

배열은 자바에서 다수의 값이나 객체를 저장하고 관리하기 위한 데이터 구조입니다. 이들은 하나의 이름을 가지고 순서가 있는 나열로 저장되므로, 각 값에 대해 이름을 따로 설정하지 않아도 됩니다. 이는 변수를 여러 개 선언하고 각각 관리하는 것보다 더욱 편리합니다.

 

그럼에도 불구하고, 배열이 단순히 여러 값을 효율적으로 저장하는 방법이라는 생각을 버리는 것이 좋습니다. 배열은 데이터를 구조화하고 이에 대한 복잡성을 줄이는 데 중요한 도구입니다. 특히 규칙성이 없는 값에 규칙성을 부여하는 데 유용합니다.

 

배열의 선언

배열을 선언하는 방법에는 여러 가지가 있습니다:

 

미리 값을 알고 있을 때:

int[] myArray = {1, 2, 3, 4, 5};

 

배열의 크기만 알고 있을 때:

int[] myArray = new int[5]; // 모든 요소가 0으로 초기화됩니다.

 

값이나 크기를 모르는 경우:

int[] myArray = null;
myArray = new int[5]; // 나중에 초기화

이 때 'new' 연산자는 Heap 메모리에 배열을 할당하며, 'null'은 주소의 초기값을 설정합니다. 자바에서 배열은 항상 Heap(동적 메모리)에 할당되기 때문에 동적 배열만 존재하게 됩니다.

 

배열의 구조

이해를 돕기 위해 예제를 들어보겠습니다:

int[] arData = {7, 9, 2, 1, 4};

위에서 'arData'는 이름이 하나인 저장공간이며, 이 공간에는 단 하나의 값만 저장됩니다. 이 배열이 메모리 상에 할당되면 Heap5개의 저장공간이 생성됩니다. 그런 다음 첫 번째 저장공간의 주소값이 'arData' 저장공간으로 전달됩니다.

 

배열의 사용

배열을 사용하는 예시를 살펴보겠습니다:

int[] arData = new int[5]; // 5칸짜리 배열 생성

arData[0] = 10; // 첫 번째 칸에 10 할당

int sum = arData[0] + 9; // 첫 번째 칸의 값에 9를 더한 값을 sum에 저장

System.out.println(arData); // 배열의 주소를 출력 (배열의 값을 출력하려면 Arrays.toString(arData) 사용)

arData[2] = arData[0] + arData[1]; // 첫 번째 칸과 두 번째 칸의 합을 세 번째 칸에 저장

System.out.println(arData[4]); // 오류! 아직 값이 할당되지 않은 배열의 칸에 접근하려 함

 

이렇게 자바에서 배열은 강력하고 유연한 도구로 활용할 수 있습니다

반응형

'개발 > Java' 카테고리의 다른 글

Java에서의 메소드(Method): 이해와 활용  (0) 2023.07.13
Java에서의 배열: 활용  (0) 2023.07.13
Java의 제어문: while문  (0) 2023.07.13
Java의 제어문: for문  (0) 2023.07.13
Java의 제어문: switch문  (0) 2023.07.12