JAVA

[JAVA] 배열(4)

jongh0 2025. 5. 20. 10:26

[배열]

 

배열은 타입이 동일한 변수를 여러 개 한 번에 관리하는 변수의 형태라고 볼 수 있다.

 

[문법]

타입[] 변수명;

변수명 = new 타입[크기];

타입[] 변수명 = new 타입[크기];

int[] x = new int[3];

 

간단한 예제를 통해서 어떤식으로 사용하는지 알아보자.

다음코드는 정수형 데이터 3개를 사용자로부터 입력받아야 하며, 들어왔던 순서대로 출력해야한다.

		System.out.println("===== Array =====");
		Scanner sc = new Scanner(System.in);
		int[] grades = new int[3];
		
		for(int i = 0; i < 3; i++) {
			grades[i] = sc.nextInt();
		}
		
		for(int i = 0; i < grades.length; i++) {
			System.out.println(grades[i]);
		}

 

해당 코드에서는 int형 정수데이터 3개를 담을 수 있는 grades라는 배열을 선언하였다. 그리고 이전에 배운 반복문 

중에서 for문을 통해 i값을 0부터 2까지 올려주며 grades[i] 에 순차적으로 사용자로부터 입력을 받아주는 코드이다.

 

배열의 인덱스는 0부터 시작해서 (배열크기 - 1) 까지 공간이 존재하며, 해당 범위를 넘을 경우 ArrayIndexOutOfBoundsException 오류가 발생하게 된다. 

 

이전에 업로드한 변수에 대한 게시물에서 변수는 기본형과 참조형으로 나뉜다고 말한적이 있다.

배역은 참조형 변수에 해당하는데 아래 그림을 확인해보자.

 

해당 그림의 구조는 다음 코드의 구조를 가지고 있다.

int[] num = new int[3];
num = {10, 20, 30};

 

num이라는 변수만 출력하게 된다면 주소값이 나오게되는데, 해당 주소는 num[0]에 해당하는 값 10이 담긴 공간의 시작 주소를 가르킨다. 해당 시작주소를 기반으로 배열에 자료형에 해당하는 byte만큼 index마다 증가하며 주소 값이 배정된다. 

 

다시말해서, 기본형 변수는 값을 그대로 저장하지만, 참조형 변수는 주소값을 저장하고 해당 주소값을 통해서 값을 참조한다.

'JAVA' 카테고리의 다른 글

[JAVA] 생성자 / 오버로딩 (6)  (1) 2025.05.20
[JAVA] 클래스 / 객체 (5)  (0) 2025.05.20
[JAVA] 형변환 메서드(3)  (1) 2025.05.19
[JAVA] 조건/반복문 (2)  (0) 2025.05.19
[JAVA] 변수와 연산자 (1)  (0) 2025.05.19