super = this (lv와 iv 구별)
조상 맴버를 자신의 맴버와 구별 할 때 사용합니다
super()
조상 클래스의 생성자를 호출하는데 사용됩니다.
Object 클래스를 제외한 모든 클래스의 생성자 첫 줄에 생성자를 호출해야 됩니다. 그렇지 않으면 컴파일러가 자동적으로 super();를 생성자의 첫줄에 삽입합니다.
class PointTest {
public static void main(String[] args) {
Point3D = p3 = new Point3D();
}
}
class Point {
int x;
int y;
Point (int x, int y) {
this.x = x;
this.y = y;
}
}
class Point3D extends Point {
int z;
Point3D() {
this(100, 200, 300);
}
Point3D(int x, int y, int z) {
super(x, y);
this.z = z;
}
}
호출 순서입니다.
- Point3D()
- Point3D(int x, int y, int z)
- Point(int x, int y)