-
[자바기초] 배열 | 객체 배열 사용하기º Language º/Java 2023. 3. 7. 16:16
# 객체 배열이 뭐야?
- 배열 안에 객체 인스턴스가 담겨 있는 것
- 참조 자료형을 선언하는 객체 배열
# 객체 배열 만들기
1. 배열만 생성한 경우 요소는 null로 초기화 됨
2. 각 요소는 new를 활용하여 생성한 후 저장해야 함
코드예시
객체 배열 기본 코드 > library[0] = new Book("",""); 와 같은 코드입력이 없으면 값이 null 값으로 나옴
각각의 메모리 공간 주소
library[0] library[1] library[2] library[3] library[4] ↓ ↓ ↓ ↓ ↓
태백산맥
조정래데미안
헤르만 헤세어떻게 살 것인가
유시민토지
박경리어린왕자
생첵쥐페리> 메모리 공간 주소(객체) 안에 각각의 정보(인스턴스)를 입력할 수 있음. 이는 각 주소마다 꼭 1권의 책이라고 이해하기 보다 각 주소마다 원하는 만큼의 정보를 넣어 놓은 것이라고 이해해야 함.
# 배열 복사하기
- 기존 배열과 같은 배열을 만들었거나 배열이 꽉 찬 경우 더 큰 배열을 만들고 기존 배열 자료를 복사할 수 있다.
System.arraycopy(src,srcPos,dest,desrPos,length);
매개 변수 설명 src 복사할 배열 srcPos 복사할 배열의 첫 위치 dest 붙여 넣을 대상 배열 destPos 대상 배열에 붙여 넣기를 시작할 첫 위치 length src에서 dest로 자료를 복사할 요소 개수 # 객체 배열 복사하기
- 얕은 복사 : 배열 요소의 주소만 복사 되므로 배열 요소가 변경되면 복사된 배열의 값도 변경 됨
코드예시
결과 값
배열 얕은 복사 결과 값 - 깊은 복사 : 서로 다른 인스턴스의 메모리를 요소로 가지게 됨
코드예시
결과 값
배열 깊은 복사 결과 값 # 향상된 for문 (enhanced for loop)
- 배열 요소의 처음부터 끝까지 모든 요소를 참조할 때 편리한 반복문
for(변수 : 배열) {
반복 실행문;
}향상된 for문 코드예시 > 위의 향상 된 for문은 객체 배열 혹은 기본 정수 배열에서도 가능 함.
int[] arr = {1,2,3,4,5}; for(int num : arr) { System.out.println(num); }
'º Language º > Java' 카테고리의 다른 글
[자바기초] 연산자의 종류와 활용 방법 정리노트 (2) 2023.03.11 [자바기초] 8가지 자료형의 구성요소 정리노트 (0) 2023.03.10 [자바기초] 배열 | 배열선언, 초기화, 문자배열 (0) 2023.03.06 [자바기초] 클래스와 객체 | static 변수와 메서드 (0) 2023.03.04 [자바기초] 클래스와 객체 | this가 하는 일 (0) 2023.03.01