1. 배열

    : 같은 데이터 타입인 여러 개의 자료 값을 하나의 식별자(변수)로 처리

    메모리의 연속적 공간에 할당되며 각각의 요소는 인덱스로 구분

    ( 인덱스는 0에서 부터 시작하고 배열은 크기가 고정 )

  1. 인덱스와 인덱스에 대응하는 데이터로 이루어진 자료 구조

→ 한 번에 많은 메모리 공간 할당 가능

  1. 같은 타입의 데이터들이 순차적으로 저장

순차 리스트 → 연접 리스트, 선형 구조

          → 단, 같은 데이터 타입 (인덱스 이용, 반복문 이용)
  1. 배열 인덱스 → 0부터 시작

장점) 동일한 사이즈, 주소 값을 간단한 산술 식으로 위치를 알 수 있다.

(인덱스와 자료의 크기만 알면 찾을 수 있다.)

단점) 크기가 고정되어 있다.

  1. 배열의 선언

    1. 배열에 대한 래퍼런스 변수 선언 ( 배열을 선언할 때 배열의 크기를 주지 x )

    → 포인터를 선언하는 것임 (Why? 자바는 모두가 포인터)

    1. 배열 생성 by new 동적 할당 (메모리 삭제 불필요 why? 가비지 콜렉터)

    → 데이터를 저장할 때 배열 공간을 할당 받는 과정

    1. 배열의 초기화 → 선언과 값 할당을 동시에 하는 문장

    2. 인덱스 → 배열의 인덱스는 0부터 시작, 인덱스로 음수 사용 불가능, 크기를 넘으면 안됨

    int intArray[]; //배열 선언
    								//배열 타입/배열에 대한 레퍼런스 변수/배열 선언
    
    intArray = new int [5]; //배열 생성
    												//배열에 대한 레퍼런스 변수/배열 생성/타입/원소개수
    
    int intArray[] = {0,1,2,3,4,5); // 배열 초기화(초기화된 값의 개수 만큼의 배열 생성)
    
    //배열 각각은 독립적인 변수
    intArray[1];
    intArray[3];
    
  2. 배열 공유

    : 일반 변수인 것처럼 하나의 배열을 다수의 레퍼런스가 참조 가능

    → 같이 레퍼런스하는 배열로 인해 값이 바꿀 수 있어 주의 !

    → private 통해 값을 변경하지 못하도록 할 수 있음

  3. length 필드

    : 배열은 자바에서 객체로 관리(레퍼런스 변수와 유사하게 사용) → 배열 이름.멤버 형태

    → 배열의 크기를 나타낸다

예제 3-7) 배열 저장하고 나서 큰 수 출력