Object클래스를 제외한 모든 클래스의 생성자 첫 줄에는 생성자 this() 또는 super()를 호출해야 한다. 그렇지 않으면 컴파일러가 자동적으로 super()를 생성자의 첫 줄에 삽입한다. 


인스턴스를 생성 할때는 클래스를 선택하는 것만큼 생성자를 선택하는 것도 중요한 일이다. 


1.클래스- 어떤 클래스의 인스턴스를 생성할 것인가?

2. 생성자- 선택한 클래스의 어떤 생성자를 이용해서 인스턴스를 생성할 것인가?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class PointTest2 {
    public static void main(String[] args) {
        Point3D p3 = new Point3D();
        System.out.println("p3.x=" + p3.x);
        System.out.println("p3.y=" + p3.y);
        System.out.println("p3.z=" + p3.z);
    }
}
 
class Point {
    int x = 10;
    int y = 20;
 
    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
}
 
class Point3D extends Point {
    int z = 30;
 
    Point3D() {
        this(100200300);
    }
 
    Point3D(int x, int y, int z) {
        super(x, y);
        this.z = z;
    }
}
cs


'23.12.24 삭제예정 > 자바' 카테고리의 다른 글

배열 메소드의 소환  (0) 2017.05.25
기본형 매개변수 VS 참조형 매개변수  (0) 2017.05.25
오버라이딩의 조건  (0) 2017.05.01
자바-생성자  (0) 2017.04.27
자바-오버로딩에 관해서  (0) 2017.04.24

+ Recent posts