티스토리 뷰
배열(Array)은 연관된 정보를 그룹핑 하는데 사용
배열의 개념
배열은 연관된 데이터를 모아서 관리하기 위해서 사용하는 데이터 타입
변수 vs 배열
변수 : 하나의 데이터를 저장
배열 : 여러 개의 데이터를 저장하기 위한 것
String[] classGroup = {"사과", "바나나", "딸기", "키위"};
classGroup이라는 String[] 문자열 배열에 {"사과", "바나나", "딸기", "키위"} 라는 배열이 담긴다.
String[] classGroup = new String[4]; // 배열을 정의할 때 new를 사용하고 배열의 type: String, 배열의
크기 : 4
classGroup[0] = "사과"; // classGroup의 0번째 인덱스에 "사과" 문자열을 저장
System.out.println(classGroup.length); // length: 배열의 크기
classGroup[1] = "바나나"; // classGroup의 1번째 인덱스에 "바나나" 문자열을 저장
System.out.println(classGroup.length);
classGroup[2] = "딸기"; // classGroup의 2번째 인덱스에 "딸기" 문자열을 저장
System.out.println(classGroup.length);
classGroup[3] = "키위"; // classGroup의 3번째 인덱스에 "키위" 문자열을 저장
System.out.println(classGroup.length);
classGroup이라는 배열을 도식화 해보면 아래의 표와 같다.
index | elemenet |
0 | "사과" |
1 | "바나나" |
2 | "딸기" |
3 | "키위" |
그리고 이 classGroup의 length는 배열의 크기를 뜻하므로 4인 것을 주의
반복문과 배열의 조화
배열과 반복문을 이용하면 배열의 요소를 하나씩 제어할 수 있다.
String[] classGroup = {"사과", "바나나", "딸기", "키위"};
for (int i = 0; i < classGroup.length; i++) {
String member = classGroup[i];
System.out.println(member + "이 상담을 받았습니다");
}
배열 : for-each
String[] members = {"사과", "바나나", "딸기", "키위"};
for (String e: members) {
System.out.println(e + "이 상담을 받았습니다");
}
: 뒤에 있는 배열 member의 요소를 하나씩 꺼내서 e라는 변수에 담아준다.
- for-each를 사용하는 이유 : 앞에서 사용한 반복문에 비해 실수도 적고 단순하게 일 처리 가능
배열의 한계
배열은 초기화할 떄 그 크기가 정해진다. 정해진 크기 이상의 값을 넣으려고 하면 오류가 발생한다.
예를 들어 위에서 살펴본 classGroup의 배열의 크기가 4일 때 classGroup[4]에 무언가를 할당하려고 하면
오류가 발생하는 것이다.
이러한 문제점을 보완한 것이 컬렉션 Collection이라는 기능이 있다. Container라고 부르는 이 기능을 사용하면
유연하게 배열을 사용할 수 있다. 컬렉션은 매우 중요한 주제이지만 지금 단계에서는 이것을 이해하기 위한 개념이 부족하다. 객체지향에 대한 이해를 한 후 컬렉션의 내용을 이해할 수 있기 때문이다.
'JAVA' 카테고리의 다른 글
출력 스트림 객체와 API (0) | 2021.02.28 |
---|---|
클래스의 정의 (0) | 2021.01.14 |
객체 배열 (0) | 2021.01.14 |