import java.util.Vector;

class Point {
 private int x, y;
 public Point(int x, int y) {
  this.x = x;
  this.y = y;
 }
 public String toString() {
  return "(" + x + "," + y + ")"; 
 }
};

public class PointVectorEx {
 public static void main(String[] args) {
  // Point 객체를 요소로만 가지는 벡터 생성
  Vector<Point> v = new Vector<Point>();
  
  // 3 개의 Point 객체 삽입
  v.add(new Point(2, 3));
  v.add(new Point(-5, 20));
  v.add(new Point(30, -8));

  // 벡터에 있는 Point 객체 모두 검색하여 출력
  for(int i=0; i<v.size(); i++) {
   Point p = v.get(i); // 벡터에서 i 번째 Point 객체 얻어내기
   System.out.println(p); // p.toString()을 이용하여 객체 p 출력
  }
 }
}


여기서 new Point(2,3)은 Point 메소드를 호출 한 것이고, Point 클래스 내의 Point 메소드는 오버로딩에 의하여 값을 넘겨 받았다. 그리고 this.x의 x는 Point 클래스 내의 x를 가르키고, this.x 오른쪽의 x는 오버로딩에 의해 넘겨받은 값을 가르키어, Point함수 내의 x값이 넘겨받은 값으로 변경이 되었다.


뭔가 해깔리는데 그리고 new Point(2,3)은 Point메소드에 의해서 객체가 생성되는 겁니까? 정확한 개념을 아시는분 알려주세요~ㅜ