int[] scores; // 1. 선언: "int 배열을 가리킬 변수 scores" (아직 배열 없음, null)
scores = new int[5]; // 2. 생성: 힙에 int 5칸 배열을 만들고 주소를 scores에
scores[0] = 90; // 3. 사용: 0번 칸에 90 저장한 번에 쓰면:
int[] scores = new int[5]; // 크기 지정, 모든 칸 기본값 0
int[] scores = {90, 85, 77, 92, 68}; // 값 나열 (선언과 동시에만 가능)
int[] scores = new int[]{90, 85, 77}; // 값 나열 (나중에 대입하거나 인자로 넘길 때)int scores[](C 스타일)도 문법상 허용되지만 자바 관례는 int[] scores입니다. "타입이 int 배열"이라는 뜻이 명확하기 때문입니다.
배열의 핵심 성질 3가지:
| 성질 | 설명 | 결과 |
|---|---|---|
| 고정 크기 | 생성 시 정한 크기를 바꿀 수 없음 | 더 필요하면 새 배열을 만들어 복사 (ArrayList가 하는 일) |
| 동일 타입 | 한 배열에는 한 타입만 | int[]에 문자열 불가 |
| 0부터 인덱스 | 첫 칸이 0, 마지막이 length - 1 |
length번 칸은 없음 → 예외 |
new로 만든 배열의 모든 칸은 타입별 기본값으로 채워집니다. 01 레슨의 필드 기본값과 같습니다.
| 타입 | 기본값 |
|---|---|
int, long, short, byte |
0 |
double, float |
0.0 |
char |
' |