[JAVA] 4. 배열

문정준's avatar
Feb 03, 2025
[JAVA] 4. 배열
💡
연속된 수의 저장 공간, 배열(Array)
자바에서는 하나의 값이 아닌 연속된 값을 가진 배열도 저장할 수 있습니다.
notion image
💡
배열 선언
int[] arr = {2, 4, 6, 8};
배열을 선언할 때에는 자료형 앞에 대괄호([])를 붙이고, 배열에 저장할 값들을 중괄호({}) 안에 저장합니다. 배열은 자료형의 크기 * 배열의 크기만큼 메모리 공간을 차지하므로, 위의 예시는 int형의 4개의 공간이 필요하므로 총 16Byte의 공간을 차지합니다. 이때 배열의 저장 공간은 연속되어 있기 때문에, 4칸의 배열을 나누어 저장할 수 없습니다.
  • 배열을 한 번에 붙여 저장하는 이유?
    • Clustering을 통한 빠른 탐색
 
배열이 저장되면 인덱스가 함께 붙는데, 첫 번째 값은 0번째 인덱스에 저장됩니다. 따라서 마지막 값은 (배열의 크기) -1 번째에 저장됩니다.
배열도 변수와 같이 값을 변경하여 초기화할 수는 있으나, 배열의 크기는 선언한 순간 고정되기 때문에 배열의 크기를 더 늘이거나 줄일 수 없습니다. 또한, 배열이 선언되면 다른 자료형을 그 배열 안에 넣을 수 없습니다.
 
아래의 코드를 실행하면, arr[2]는 3번째 값인 6이 출력되는 것을, arr[1]을 10으로 대입했을 때 이것이 잘 반영되는 것을 확인할 수 있습니다.
package ex01; public class Var03 { public static void main(String[] args) { int[] arr = {2, 4, 6, 8}; System.out.println(arr[2]); arr[1] = 10; System.out.println(arr[1]); } }
  • 결과
notion image
 
정해진 배열 범위 밖의 값을 참조하려고 하면, 오류 메시지와 함께 실행이 중지됩니다.
package ex01; public class Var03 { public static void main(String[] args) { int[] arr = {2, 4, 6, 8}; System.out.println(arr[2]); arr[1] = 10; System.out.println(arr[1]); System.out.println(arr[4]); } }
  • 오류 발생 : ex01.Var03.main(Var03.java:9)에서 (배열의)길이 4의 경계를 벗어난 인덱스 4를 생성
notion image
 
💡
내용 정리
  1. 연속된 수들을 저장하기 위해서 배열 사용
  1. 배열은 연속된 공간을 한꺼번에 잡아서 저장
  1. 선언된 배열의 자료형에 맞는저장 가능
  1. 정해진 배열 범위를 벗어난 경우 오류 발생
 
Share article

sxias