package Dog;
public class Triangle {
double area;
int height;
int length;
public static void main(String[] args) {
int x = 0;
Triangle[] ta = new Triangle[5];
while ( x < 4 ) {
ta[x] = new Triangle();
ta[x].height = (x + 1) * 2;
ta[x].length = x + 4;
ta[x].setArea();
System.out.print("Triangle " +x+ ", area");
System.out.println(" = " + ta[x].area);
x = x + 1;
}
int y = x;
x = 27;
Triangle t5 = ta[2];
System.out.println(ta[2]);
ta[2].area = 343;
System.out.print("y = " + y);
System.out.println(", t5 area = " + t5.area);
}
void setArea() {
area = (height * length) / 2;
}
}
결과값 :
Triangle 0, area = 4.0
Triangle 1, area = 10.0
Triangle 2, area = 18.0
Triangle 3, area = 28.0
Dog.Triangle@de6ced
y = 4, t5 area = 343.0
==========================================
라고 나오는데요.. 아래에서 9번째 줄 Triangle t5 = ta[2]; 라는 객체생성이 무슨 용도로 쓰이는 지 아직 잘 모르겠습니다.
t5라는 객체를 생성하면서 원래 위에서 사용된 ta[x] 배열을 재사용(재활용?)한걸까요?
무슨 값이 있는지 궁금해서 찍어봤는데 Dog.Triangle@de6ced 라는 알수 없는 값만 출력이 되네요ㅠㅠ
좀 허접한 질문이지만.. java를 공부하는 한사람 으로써 너무 궁금합니다. ㅎㅎ
매번 질문만 드려 죄송하네요..




ta[2]에 있는걸 그냥 ta5에 넣은 것 뿐입니다. 저 값은 저렇게 봐서는 의미없는 값이죠