[Java] 16. 배열 (1)
2023. 10. 24. 20:17ㆍJava언어 공부
배열
하나의 이름을 가지고 똑같은 타입을 여러 개 유지한다. => 동질 구조라고 함
다형성을 이용한 배열의 경우에는?
ex. 애완동물(객체) 배열이라면 강아지나 고양이 등 여러 가지가 올 수 있음
배열의 요소는 위치에 의해 접근한다. (index 0부터 시작)
배열의 용량은 한번 정하면 바꿀 수 없다.
모든 요소를 바로 접근할 수 있다.
일차원 배열의 선언
타입이나 이름 둘 중 하나 선택하여 '[]'를 붙여 선언
자바의 배열은 항상 동적으로 생성한다. new를 붙여서 만들어야 함.
int scores[] = new int[10];
배열이름.length는 배열의 길이를 나타낸다.
length의 최댓 값은 2^31 - 1 즉, Integer.MAX_VALUE이다.
length는 public final 이다.
null과 new int[0]는 다른 것이다.
전자는 아무것도 가리키지 않는 것이고, 후자는 길이가 0인 배열을 가리킨다.
final과 배열
final은 다른 배열을 가리키지 못하게 한다.
배열의 내용 자체는 바꿀 수 있다.
객체 배열
객체 배열은 객체를 저장하는 것이 아닌 주소만 저장된다.
일차원 배열의 초기화
new int[]를 생략할 수 있음
초깃값 목록을 사용할 시,
- 용량을 지정할 수 없다.
- var을 사용할 수 없다.
다차원 배열
사용법은 비슷하나 한가지가 다르다.
각 행의 용량이 다를 수 있다.
int[][] a = new int[2][];
a[0] = new int[5];
a[1] = new int[3];
배열 선택식
배열의 범위를 벗어난 접근은 오류가 난다.
- 예외 : ArrayIndexOutofBoundException
- 유효한 색인 : 0부터 (용량-1)까지
- 실제 사용해야 할 색인 : 0부터 (크기-1)까지
'Java언어 공부' 카테고리의 다른 글
[Java] 17. 배열 (2) (2) | 2023.10.30 |
---|---|
[Java-FX] 5. 기본 노드 (1) (0) | 2023.10.29 |
[Java] 15. 조건문과 반복문 (2) (1) | 2023.10.24 |
[Java] 11. 예외 처리 (1) (1) | 2023.10.23 |
[Java-FX] 4. Java FX 레이아웃 및 사건 기반 프로그래밍 (2) (2) | 2023.10.22 |