본문 바로가기
back-end/JAVA

5)객체지향-객체배열

by 모두의 향연 2021. 5. 11.
728x90
반응형

5) 객체지향-객체 배열

객체를 여러 개 만들고 싶은데, 그 많은 객체를 일일이 만들다 보면 시간이 많이 걸립니다.

그래서 '배열'을 만들죠. 중복을 피하고 코드를 간결하게 하기 위함이죠.

객체지향에서도 객체를 만들 때 배열을 쓰기도 합니다.

대신, 객체를 배열하기 전에 참조 변수를 먼저 배열해야 합니다. 

 

티브이가 3개 있는 객체를 배열로 만들기

Tv tv1, tv2, tv3;  ---------------->    Tv[] tvArr = new Tv[3]; 

객체 배열==참조변수배열

위 그림은 3개의 티브이를 배열로 만든 것입니다.

객체를 만들기 위해서는 먼저 참조 변수가 선언되어야 한다고 했죠.(티브이에 접근하기 위해서는 리모컨이 필요하니까요)

그럼 참조 변수의 배열을 먼저 만듭니다.

참조변수의 배열의 이름은 tvArr이라고 쓰고 주솟값은 0x100입니다.

배열에는 3개의 참조 변수가 있습니다. tvArr[0], tvArr[1], tvArr[2]

참조 변수를 만들었으면 이제 객체를 만들어야겠죠.

이전에 Tv t = new Tv(); 로 객체를 생성한 것처럼 똑같이 객체를 생성해줍니다.

tvArr[0] = new Tv(); //배열 첫 번째에 첫 번째 티브이 객체 생성

tvArr[0] = new Tv(); //배열 두 번째에 두 번째 티비 객체 생성

tvArr[0] = new Tv(); //배열 세 번째에 세 번째 티비 객체 생성

객체의 주솟값은 0x200, 0x300, 0x400

이렇게 객체를 배열로 만들어보았습니다.

 

여기서 이런 결론을 내놓을 수 있습니다.

객체 배열 == 참조 변수 배열

배열로 객체 만들기

윗 그림은 일일이 객체를 만든 경우고, 아래 그림은 참조 변수를 배열로 만든 후에 객체를 만든 경우입니다.

주의할 점은 대부분 참조 변수의 배열만 만들고 객체생성은 안 하는 겁니다.

참조변수의 배열을 만들었다 해서 객체가 생성되는 것은 아닙니다.

그러니 꼭 객체까지 만들어주세요!

 

*유튜브 남궁성 선생님의 `자바의 정석`을 참고하여 만들었습니다*
*자세히 보고 싶은 분들은 유튜브 가서 보시면 되고요! 저는 개인적으로 공부하는 게 목적입니다*

728x90
반응형