티스토리 뷰
객체 배열이란?
클래스를 배열로 선언하는 방식
객체 배열을 사용하는 이유
객체는 메모리에서 single record 만 표현할 수 있다. 만약 multiple record를 표현시 객체배열을 사용한다.
다양한 타입(String,Integer, any class instance)의 데이타를 객체 배열을 통해 저장할 수 있다.
기본 데이터 타입의 배열 VS 객체 배열
기본 데이터 타입의 배열 : 배열 선언과 동시에 메모리 생성
객체 배열 : 객체 변수의 이름들만 생성, 실제 객체 내부의 메모리는 생성X
ex. Car[] car = new Car[8]; => 참조변수 8개 생성되지만 실제 8개의 참조변수에 대한 객체 자체의 메모리 생성 X
∴ 객체의 메모리를 따로 생성하는 과정이 별도로 필요함!
사용방법
1. 객체 배열의 생성 ex. SortLocation[] sortLocations = new SortLocation[countLocation]
2. 객체 배열의 변에 메모리 할당 ex. sortLocations[i] = new SortLocation(x, y);
※ 객체 배열은 배의 생성과 메모리의 할당이 분리되어 있기 때문에 각 객체에 대해 따로 메모리를 할당해야 한다.
예제
출저: https://fors.tistory.com/,https://bslime.tistory.com/,Java언어로 배우는 디자인패턴 입문 ,https://www.dotnetperls.com/object-array-java,https://www.edureka.co/blog/array-of-objects-in-java/
Q. 배열에서 얕은 복사(배열의 주소 복사)와 깊은 복사(배열의 값 복사) 란?
Q. 배열에서 NullPointerException이 발생하는 경우
'JAVA' 카테고리의 다른 글
[JAVA] 객체지향설계 5원칙 - SOLID (0) | 2022.11.07 |
---|---|
[JAVA] Stream (0) | 2022.09.14 |
ArrayList 정렬 : Comparable 과 Comparator (0) | 2020.01.06 |
향상된 For 문(+ArrayList에서 index 가져오기) (0) | 2020.01.06 |
StringTokenizer (0) | 2020.01.03 |