JAVA 기초

[JAVA 기초] JAVA의 정석 - Ch.05 배열(Array) (정리)

beginner-in-coding 2025. 1. 15. 14:24

Ch.05 배열(Array)


-      배열(Array)

  • 배열이란
    • 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
    • 배열을 다루는 변수는 값이 아닌 주소값을 저장하고 있음 (참조변수)
    • 저장공간이 연속적으로 배치
  • 배열의 선언과 생성
    • 타입[] 변수이름;  또는 타입 변수이름[];  //배열의 선언 방법
    • 변수이름 = new 타입[배열의 길이];  //배열의 생성 방법
  • 배열의 길이와 인덱스
    • 인덱스(index): 배열의 값을 접근할 수 있는 일련 번호
    • 인덱스의 범위: 0 ~ 지정한 배열의 길이-1
    • 배열의 길이는 정수(0포함)으로 생성할 수 있음
  • 배열의 초기화
    • 각 인덱스에 접근하여 값을 저장하는 방법
    • new 타입[] {  //배열로 다룰려는 값들의 모임  }
    • 위의 경우 new는 생략 가능
  • 배열의 복사
    • 기존의 배열을 저장할 배열변수를 생성
    • 기존의 배열을 새롭게 선언
    • 반복문을 통해 기존의 배열 변수에 값을 저장
    • for문보다 System.arraycopy(타겟배열, 복사할 시작 인덱스, 새로운 배열, 새로운 배열에서 시작 인덱스, 복사할 개수)를 이용하는 것이 성능이 빠름
  • 배열의 활용
    • 총합과 평균, 최대값 최소값, 섞기, 임의의 값으로 배열 채우기, 정렬하기, 빈도수 구하기, ...

-      String 배열

  • String 배열의 선언과 생성
    • 참조형 변수의 기본값은 null
    • 기본형 배열과 선언과 생성 방법은 같음
  • String 배열의 초기화
    • 기본형과 동일하게 초기화 방법 진행
    • 데이터, 즉 문자열은 큰따옴표("")안에 입력
    • String 배열은 값이 저장된 것이 아니라 문자열의 주소가 저장되어 있음
    • 즉, String 배열은 String 주소의 집합임
  • char배열과 String클래스
    • String은 char 배열에 기능(함수)를 추가한 것
  • 커맨드 라인을 통해 입력받기
    • main method의 매개변수인 String[] args로 받는 것

-      다차원 배열

  • 2차원 배열의 선언과 인덱스
    • 타입[][] 변수이름;  (또는) 타입 변수이름[][];  (또는) 타입[] 변수이름[];  //2차원 배열 선언 방법 3가지
    • 배열이름 = new 타입[행 길이][열 길이];  //2차원 배열 생성 방법
    • 배열이름[행 인덱스][열 인덱스]  //인덱스를 이용한 데이터 접근 방법
  • 2차원 배열의 초기화
    • 1차원 배열과 유사
    • 1차원 배열의 집합을 괄호{} 로 묶어줌
  • 가변 배열
    • 2차원 배열의 각 행마다 다른 길이의 배열로 다룰 수 있음
  • 다차원 배열의 활용
    • 좌표, 빙고, 행렬의 곱셈, 단어 맞추기, ...