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
반응형

+ Recent posts