169페이지 객체배열
package myproject;
public class Ex169p {
public static void main(String[] args) {
Tv t; // Tv인스턴스를 참조하기 위한 변수 t를 선언 참조변수
t = new Tv(); // Tv인스턴스를 생성한다. 생성자 함수.
t.channel = 7; // Tv인스턴스의 멤버변수 channe1의 값을 7로 한다.
t.channelDown(); // Tv인스턴스의 메서드 channe1Down()을 호출한다.
System.out.println("현재 채널은" + t.channel + " 입니다.");
t.print(); // Tv인스턴스의 메서드 print()을 호출한다.
int a; //값을 안줘서 보장할 수 없어. 값을 안줬더니 에러가 떠 그래서 지역변수는 초기화가 안됨
// System.out.println(a);
Tv[] tvArr = new Tv[3]; //참조변수 배열(객체 배열)을 생성
//객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
tvArr[0].color = "red";
tvArr[1].color = "green";
tvArr[2].color = "blue";
for (int i = 0; i < tvArr.length; i++) {
System.out.println("\n" + i +"의 "+"tv색은? : "+ tvArr[i].color);
}
System.out.println(tvArr); //배열의 시작 주소
System.out.println(tvArr[0]); // 배열[0]이 갖고 있는 참조하는 주소
System.out.println(tvArr[1]);
System.out.println(tvArr[2]);
//배열의 초기화 블럭을 사용한다면
// Tv[] tvArr = { new Tv(), new Tv(), new Tv() }; 처럼 한 줄로 간단히 할 수 있다.
//다뤄야할 객체의 수가 많을 때는 for문을 사용하면 된다.
Tv[] tvArr = new Tv[100];
for( int i = 0; i <tvArr.lenght; i++) {
tvArr[i] = new Tv();
}
} //main
}//class
결과>
현재 채널은6 입니다.
null,false ,6
0의 tv색은? : red
1의 tv색은? : green
2의 tv색은? : blue
[Lmyproject.Tv;@6073f712
myproject.Tv@43556938
myproject.Tv@3d04a311
myproject.Tv@7a46a697
객체로도 배열을 만들 수 있다는 것을 보여줌.