728x90
객체 배열 == 참조변수 배열
객체의 배열이란?
참조변수 여러개를 묶어서 배열을 만든 것
Tv tv1, tv2, tv3; // Tv데이터 타입인 변수tv1,tv2,tv3
↓↓↓ 배열로 전환하면
Tv[] tvArr = new Tv[3]; //
참조변수 3개를 배열로 만든 것
그래서 객체의 배열이라 부름
만들어진 각 객체의 주소값이 링크되고 초기화 된 것
객체의 배열 초기화
// 객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
↓↓↓ 간단히 초기화
Tv[] tvArr = { new Tv(), new Tv(), new Tv() };
Tv[] tvArr = new Tv[3];
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
위의 코드의 세부과정
1)참조변수 tvArr 생성됨
2)tvArr 참조변수 3개가 배열로 생성되고 주소값 생성
(new)연산자가 heap영역에 배열 및 주소값 생성
3)tvArr[0] = new Tv(); 이 문장이 실행되서 tvArr[0] 문장이 실행되서 new Tv();가 tvArr[0]로 대입됨
만들어진 객체의 주소값 0x100이 tvArr[0]로 링크 되고 마찬가지로 tvArr[1],tvArr[2]도 주소값 링크됨
주의사항
Tv[] tvArr = new Tv[3];
이 코드만 만들어두면 참조변수 배열만 생성해둔 거기에 참조변수만 만들어둔 것이고 객체를 하나씩 넣어줘야하는데 안하고 객체를 호출하게 되면 객체생성이 안됬다고 에러남
728x90
반응형
'JAVA > 자바의 정석 기초편(2020)' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-38~41 변수의초기화, 멤버변수의 초기화 (0) | 2022.02.20 |
---|---|
[자바의 정석 - 기초편] ch6-36,37 생성자 this(), 참조변수 this (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch6-32~35 생성자, 기본 생성자 (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch5-8,9 배열의활용(1)~(2) (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch5-4,5 배열의 길이, 배열의 초기화 (0) | 2022.02.19 |