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를 공부하는 한사람 으로써 너무 궁금합니다. ㅎㅎ

 

매번 질문만 드려 죄송하네요..