배열
: 같은 데이터 타입인 여러 개의 자료 값을 하나의 식별자(변수)로 처리
메모리의 연속적 공간에 할당되며 각각의 요소는 인덱스로 구분
( 인덱스는 0에서 부터 시작하고 배열은 크기가 고정 )
→ 한 번에 많은 메모리 공간 할당 가능
순차 리스트 → 연접 리스트, 선형 구조
→ 단, 같은 데이터 타입 (인덱스 이용, 반복문 이용)
장점) 동일한 사이즈, 주소 값을 간단한 산술 식으로 위치를 알 수 있다.
(인덱스와 자료의 크기만 알면 찾을 수 있다.)
단점) 크기가 고정되어 있다.
배열의 선언
→ 포인터를 선언하는 것임 (Why? 자바는 모두가 포인터)
→ 데이터를 저장할 때 배열 공간을 할당 받는 과정
배열의 초기화 → 선언과 값 할당을 동시에 하는 문장
인덱스 → 배열의 인덱스는 0부터 시작, 인덱스로 음수 사용 불가능, 크기를 넘으면 안됨
int intArray[]; //배열 선언
//배열 타입/배열에 대한 레퍼런스 변수/배열 선언
intArray = new int [5]; //배열 생성
//배열에 대한 레퍼런스 변수/배열 생성/타입/원소개수
int intArray[] = {0,1,2,3,4,5); // 배열 초기화(초기화된 값의 개수 만큼의 배열 생성)
//배열 각각은 독립적인 변수
intArray[1];
intArray[3];
배열 공유
: 일반 변수인 것처럼 하나의 배열을 다수의 레퍼런스가 참조 가능
→ 같이 레퍼런스하는 배열로 인해 값이 바꿀 수 있어 주의 !
→ private 통해 값을 변경하지 못하도록 할 수 있음
length 필드
: 배열은 자바에서 객체로 관리(레퍼런스 변수와 유사하게 사용) → 배열 이름.멤버 형태
→ 배열의 크기를 나타낸다
예제 3-7) 배열 저장하고 나서 큰 수 출력