inblog logo
|
sxias
    자바

    [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 ㆍ a32176740@gmail.com

    RSS·Powered by Inblog