this() 생성자

1.this() 생성자 : 자기자신의 생성자를 의미

2.특징 :  항상 생성자안에서만 사용 가능하다.

              생성자 안에서도 맨 첫번째 문장에 와야한다.   

              맴버변수보다 인자가 적은 생성자 안에서 멤버변수만큼 인자를 가진 인자생성자를 호출

            

   class Point{
          [멤버 변수]
              private int x,y;       맴버변수 총 2개
         [기본 생성자]
              public Point() {
                     this();       Recursive발생  계속 자기자신을 호출해서 저 부분을 못 빠져나옴
                     this(1,1);     
                     this.x=1;      =>요놈들은 안써도 됨
                     this.y=1;
                System.out.println("기본 생성자");
                     this(1,1);    생성자안에서 첫번째 문장 이어야 한다.
                                }
       [인자 생성자]
         public Point(int x) {
                     this(x,1); 
                System.out.println("인자 생성자:x");
                                  }
      public Point(int x,int y) {
                    this.x=x;
                    this.y=y;
                System.out.println("인자 생성자:x,y");
                           }


 [멤버 메소드]
         void print() {
                      this(1,1);  생성자에서만 호출 가능
              System.out.printf("X:%s,Y:%s%n",x,y);
                       }
         }///////////////////


메인

public static void main(String[] args) {
              [기본 생성자로 객체 생성]
                 Point point1 = new Point();
                 point1.print();


             [인자 생성자로 객체 생성]
                Point point2 = new Point(10);
                 point2.print();
              Point point3 = new Point(10,20);
                  point3.print();
   }

 

'학원 > JAVA' 카테고리의 다른 글

10.4 14-5 Overloading  (0) 2022.10.04
추상화 과제 복습  (0) 2022.10.02
9.30 13-6 Constructor 2 (기본 생성자)  (1) 2022.10.01
9.30 13-5 constructor(생성자)  (0) 2022.10.01
9.30 13-5 Overloading  (0) 2022.09.30

+ Recent posts