많은 수의 객체를 다루어야할 때, 객체 역시 배열을 사용할 수 있다.
객체 배열의 원소는 객체가 아닌 객체의 주소이며, 이는 그 객체를 참조하는
참조변수와 같기 때문에 참조변수들을 하나로 묶은 참조변수배열이라고 볼 수 있다.
Car[] carArr = new Car[3]; //길이가 3인 Car타입 객체배열 생성
for(int i=0;i<carArr.length;i++)
carArr[i] = new Car();
Car car = new Car(); 과 비슷하게 생겨서 첫번째 라인을 보고 객체를 생성했다고 착각하기쉽다.
하지만 이는 Car타입의 참조변수배열을 생성한 것일 뿐 오해하지말자!!
인스턴스 메소드와 인스턴스 변수는 인스턴스를 생성해야 사용할 수 있다는 것을 잊지말기😂
아직 원소들이 가리키는 인스턴스가 없기 때문에 for문으로 할당해준다.
Car carArr[] = {new Car(),new Car(),new Car()}
기본형 배열과 똑같이 이렇게 한 줄로 쓸 수도 있다. 더 간단하다!
하지만 길이가 길어질수록 {}안에 일일이 치기가 힘들기 때문에 첫번째 방법도 잘 알아두자🧐
'JAVA' 카테고리의 다른 글
생성자(Constructor), this (0) | 2022.08.02 |
---|---|
스태틱 메소드와 인스턴스 메소드 (0) | 2022.08.02 |
메소드 - 기본형/참조형 매개변수 (0) | 2022.08.02 |
JVM의 메모리 구조 (0) | 2022.08.02 |
객체지향 프로그래밍 - 변수와 메소드 (0) | 2022.08.02 |
객체지향 프로그래밍 (0) | 2022.08.02 |