오늘이라도
혼자 공부하는 자바, Ch. 05-2 배열 본문
https://github.com/upcake/Class_Examples
교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다.
1. 배열 : 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료구조
- 배열은 같은 타입의 데이터만 저장할 수 있다.
- 한 번 생성된 배열은 길이를 늘리거나 줄일 수 없다.
2. 배열 선언
타입[] 변수 = null;
3. 배열 생성
(1) 값 목록으로 배열 생성
타입[] 변수 = {값0, 값1, 값2, 값3, ...};
- 중괄호 {}는 주어진 값들을 항목으로 가지는 배열 객체를 힙에 생성하고, 배열 객체의 번지를 리턴한다.
- 배열 변수는 리턴된 번지를 저장함으로써 참조가 이루어진다.
(2) new 연산자로 배열 생성
- 향후 값들을 저장할 배열을 미리 만들고 싶다면 new 연산자로 배열 객체를 생성할 수 있다.
타입[] 변수 = new 타입[길이];
- new 연산자로 배열을 처음 생성할 경우 배열은 자동적으로 기본값으로 초기화된다.
- 배열 생성후에 특정 인덱스 위치에 새로운 값을 저장하려면 대입 연산자를 사용한다.
변수[인덱스] = 값;
4. 배열 길이 : 배열에 저장할 수 있는 전체 항목의 개수
배열 변수.length;
- 코드에서 배열의 길이를 얻으려면 배열 객체의 length 필드를 읽는다.
- length 필드는 읽기 전용 필드이기 때문에 값을 바꿀 수 없다.
5. 명령 라인 입력
- main() 메소드는 String[] args 매개 변수를 통해서 명령 라인에서 입력된 데이터의 수(배열의 길이)와 입력된 데이터(배열의 항목 값)을 알 수 있게 된다.
- 실행할 때 매개값을 주지 않으면 길이 0인 String 배열이 매개값으로 전달되고 args.length는 0이 된다.
6. 다차원 배열
- 값이 행과 열로서 구성된 배열을 2차원 배열이라고 한다.
7. 객체를 참조하는 배열
- 기본 타입 배열은 각 항목에 직접 값을 갖고 있지만, 참조 타입 배열은 각 항목에 객체의 번지를 가지고 있다.
8. 배열 복사
- 배열을 한 번 생성하면 크기를 변경할 수 없기 때문에 더 많은 저장 공간이 필요하다면 더 큰 배열을 새로 만들고 이전 배열로부터 항목 값들을 복사해야 한다.
- 배열 간의 항목 값 복사는 for문을 사용하거나 System.arraycopy() 메소드를 사용한다.
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
- System.arraycopy(원본 배열, 복사할 항목의 시작 인덱스, 새 배열, 붙여넣을 시작 인덱스, 복사할 개수);
- 참조 타입의 배열이 복사되면 복사되는 값이 객체의 번지이므로 새 배열의 항목은 이전 배열의 항목이 참조하는 객체와 동일하다.
9. 향상된 for문
- 자바는 배열이나 컬렉션을 좀 더 쉽게하기 위해 향상된 for문을 제공한다.
for(② 타입 변수 : ① 배열) {
③ 실행문;
}
- for문의 반복 횟수는 배열의 항목 수가 된다.
'취업성공패키지 SW 개발자 교육 > Java' 카테고리의 다른 글
18. 메소드 ① (0) | 2020.03.16 |
---|---|
17. 예외 (0) | 2020.03.16 |
혼자 공부하는 자바, Ch. 05-1 참조 타입과 참조 변수 (0) | 2020.03.12 |
16. 배열, 교환, 배열 교환 (0) | 2020.03.12 |
Java의 정석, Ch. 02-4 기본형(primitive type) (0) | 2020.03.11 |