본문 바로가기
JAVA/객체지향

super & super()

by chogigang 2023. 2. 23.

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;
    }
}

 

 

 호출 순서입니다.

  1. Point3D()
  2. Point3D(int x, int y, int z)
  3. Point(int x, int y)

 

 

'JAVA > 객체지향' 카테고리의 다른 글

제어자  (0) 2023.02.23
Package와 import  (0) 2023.02.23
상속  (0) 2023.02.23
변수의 초기화  (0) 2023.02.23
생성자  (0) 2023.02.22