Java 배열 선언과 초기화 쉽게 배우기

자바 프로그래밍 언어에서 배열은 동일한 데이터 타입의 여러 값을 효율적으로 저장하고 관리할 수 있는 강력한 도구입니다. 배열을 이해하는 것은 자바를 배우는 데 있어 중요한 첫걸음이므로, 이번 글에서는 자바 배열의 선언 및 초기화 방법을 자세히 알아보도록 하겠습니다.

자바 배열 개념 이해하기

배열은 메모리 상에서 동일한 데이터 타입의 값들을 연속적으로 나열하여 저장하는 구조입니다. 배열을 사용하면 같은 종류의 데이터를 효율적으로 관리할 수 있으며, 각 데이터에 대한 인덱스를 부여하여 접근할 수 있습니다. 따라서 데이터를 다루는 데 있어 편리함을 제공하게 됩니다.

배열의 선언 방법

자바에서 배열을 선언하는 방법은 여러 가지가 있으며, 일반적으로 다음과 같은 형식을 사용합니다:

  • 타입[] 배열이름;
  • 타입 배열이름[];

예를 들어, 정수형 배열을 선언하고 싶다면 아래와 같이 작성할 수 있습니다.

int[] numbers;

또는 다른 방식으로도 가능합니다.

int numbers[];

이와 같이 배열의 타입과 이름 다음에 대괄호를 붙여 배열임을 명시합니다. 배열을 선언한 이후에는 값을 저장하기 위해 배열을 생성해야 합니다.

배열 생성하기

배열을 생성하기 위해서는 new 키워드를 사용해야 합니다. 배열의 크기를 지정하여 메모리에 공간을 할당하는 것이죠. 다음 예시는 정수형 배열을 생성하는 방법을 보여줍니다.

numbers = new int[5];

위 코드는 5개의 정수값을 저장할 수 있는 배열을 생성합니다. 배열의 크기는 한 번 설정하면 변경할 수 없으므로 사용하기 전에 충분히 고려해야 합니다.

배열 선언과 초기화

배열을 선언하면서 동시에 초기화할 수도 있습니다. 이때는 중괄호를 사용하여 값을 나열합니다. 예를 들어, 다음과 같이 코드 작성이 가능합니다.

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

이 코드에서는 길이가 5인 정수형 배열을 선언하고, 동시에 1부터 5까지의 값을 초기화했습니다. 이러한 방식은 배열을 간편하게 초기화하는 좋은 방법입니다.

배열 초기화 방법

배열의 초기화는 여러 방법으로 가능합니다. 먼저, 배열을 생성한 후 각 요소에 값을 할당하는 방식이 있습니다. 예를 들어:

int[] scores = new int[5];
scores[0] = 10;
scores[1] = 20;
scores[2] = 30;

위 예시는 배열을 생성한 후 각 인덱스에 값을 할당하는 과정을 보여줍니다. 이러한 방식은 사용할 값이 동적으로 정해질 때 유용합니다.

임의의 값으로 배열을 초기화하기

배열의 모든 요소를 특정 값으로 초기화하고 싶다면 Arrays.fill() 메소드를 사용할 수 있습니다. 다음 예시는 배열의 모든 요소를 0으로 초기화합니다.

Arrays.fill(scores, 0);

이렇게 하면 scores 배열의 모든 요소가 0으로 설정됩니다. 특정 범위만 초기화하려면 다음과 같이 범위를 지정할 수 있습니다:

Arrays.fill(scores, 1, 4, 50);

여기서 1부터 4까지의 인덱스에 해당하는 요소가 50으로 채워집니다.

배열의 특징과 길이 확인하기

자바에서 배열의 길이는 length 속성을 통해 확인할 수 있습니다. 다음과 같은 방식으로 배열의 크기를 출력할 수 있습니다.

System.out.println(scores.length); // 5

배열의 length는 읽기 전용으로, 이 값을 변경할 수는 없습니다. 배열에 접근할 때는 인덱스를 사용하며, 인덱스는 0부터 시작합니다. 따라서 배열의 크기는 배열 길이 - 1까지의 인덱스를 사용해야 합니다.

기본 타입 배열의 초기값

배열을 생성할 때 자바는 기본값으로 각 요소를 초기화합니다. 다음과 같은 기본값이 설정됩니다:

  • byte, short, int, long: 0
  • float, double: 0.0
  • boolean: false
  • char: ‘\u0000’
  • reference types: null

배열 복사하기

자바에서는 배열의 크기가 고정되어 있기 때문에 필요한 경우 배열을 복사하여 새로운 배열을 만드는 방법이 있습니다. for문을 사용하여 복사할 수 있습니다.

int[] newScores = new int[5];
for (int i = 0; i < scores.length; i++) {
  newScores[i] = scores[i];
}

또는 Java의 내장 메소드인 System.arraycopy()를 활용하면 더 간편하게 배열 복사가 가능합니다.

System.arraycopy(scores, 0, newScores, 0, scores.length);

2차원 배열 이해하기

배열은 여러 차원으로도 확장될 수 있습니다. 2차원 배열은 행과 열로 이루어진 배열로, 주로 행렬을 나타내는 데 사용됩니다. 2차원 배열을 선언하는 방법은 다음과 같습니다.

int[][] matrix = new int[3][4];

위 코드에서는 3행 4열의 2차원 배열을 생성한 것입니다. 각각의 위치에 접근할 때는 두 개의 인덱스를 사용해야 합니다.

2차원 배열의 요소에 접근하기

2차원 배열의 데이터는 이중 for문을 사용하여 접근할 수 있습니다:

for (int i = 0; i < matrix.length; i++) {
  for (int j = 0; j < matrix[i].length; j++) {
    System.out.print(matrix[i][j] + " ");
  }
}

이 코드는 각 행의 데이터를 출력하는 예시입니다. 2차원 배열은 복잡한 데이터 구조를 다룰 때 매우 유용합니다.

이번 포스트에서는 자바의 배열 선언 및 초기화 방법에 대해 알아보았습니다. 배열은 프로그래밍에서 데이터를 효율적으로 저장하고 관리하는 데 매우 중요한 역할을 하므로, 이러한 기본 개념을 잘 이해하는 것이 필요합니다. 다음 글에서는 배열의 요소를 추가하거나 삭제하는 방법에 대해 심도 있게 다루어 보겠습니다.

자주 묻는 질문과 답변

자바에서 배열은 어떻게 선언하나요?

자바 배열을 선언하려면, 데이터 타입 후에 대괄호를 붙인 다음 배열의 이름을 지정하면 됩니다. 예를 들어, 정수형 배열은 int[] arrayName;과 같이 작성할 수 있습니다.

배열을 생성하는 방법은 무엇인가요?

배열을 생성하려면 new 키워드를 사용해 메모리에 공간을 할당해야 합니다. 예를 들어, int[] numbers = new int[5];는 5개의 요소를 저장할 수 있는 정수형 배열을 생성합니다.

배열의 길이는 어떻게 확인하나요?

배열의 길이는 length 속성을 통해 알 수 있습니다. 예를 들어, System.out.println(array.length);를 사용하면 해당 배열의 크기가 출력됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다