충분히 쌓여가는
객체 배열 본문
객체 배열
객체 배열 = 참조변수 배열
많은 수의 객체를 다뤄야할 때, 배열로 다루면 편리할 것
객체도 배열로 다루는 것이 가능하고, 이를 객체 배열이라고 함
객체 배열 안에 객체가 저장되는 것이 아닌, 객체의 주소가 저장된다 = 참조변수들을 하나로 묶은 참조 변수 배열
Tv tv1, tv2, tv3;
Tv[] tvaArr = new Tv[3];
길이가 3인 객체 배열 tvArr
3개의 객체(객체의 주소)를 저장할 수 있다
객체를 생성해서 배열의 각 요소에 저장
참조 변수를 만들어 줬으면 채워넣어 줘야함
Tv[] tvaArr = new Tv[3];
// 배열만 만들고 넣는거 까먹지말고 따로 넣어주기
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
// 배열의 초기화 블럭
// 한 줄로 간단히 만들기
Tv[] tvArr = { new Tv(), new Tv(), new Tv() };
다뤄야할 객체 수가 많을 경우 for 문 사용
Tv[] tvArr = enw Tv[100];
for (int i = 0; i < tvArr.length; i++) {
tvArr[i] = new Tv();
}
코드
class Tv {
// Tv의 속성(멤버 변수)
String color;
boolean power;
int channel;
// Tv의 기능(메서드)
void power() {power = !power;}
void channelUp() {channel++;}
void channelDown() {channel--;}
}
// Tv객체를 생성해서 Tv객체 배열의 각 요소에 저장
class Tvtest {
public static void main(String[] args) {
Tv[] tvArr = new Tv[3];
for (int i = 0; i < tvArr.length; i++) {
tvArr[i] = new Tv();
tvArr[i].channel = i;
}
for (int i = 0; i < tvArr.length; i++) {
System.out.println(tvArr[i].channel);
}
}
}
0
1
2
객체 배열도 같은 타입의 객체만 저장할 수 있다
하지만 여러 종류의 객체를 하나의 배열에 저장하는 당법은 다형성(polymorphism)을 사용하면 된다
'Java > 객체지향' 카테고리의 다른 글
선언 위치에 따른 변수의 종류 (0) | 2023.05.23 |
---|---|
클래스의 정의 (0) | 2023.05.22 |
인스턴스 생성과 사용 (0) | 2023.05.21 |
클래스와 객체와 instance (0) | 2023.05.21 |
객체지향언어 (0) | 2023.05.20 |