super 사용


<aside> 🎍

설명


예시


Parent
------
package extend2.access.parent;

public class Parent {

    public String value = "parent value";

    public void publicMethod() {
        System.out.println("Parent method");
    }
}

Child
-----
package extend2.access.child;

import extend2.access.parent.Parent;

public class Child extends Parent {
    public String value = "child";

    @Override
    public void publicMethod() {
        System.out.println("Child method");
    }

    public void call() {
        System.out.println(this.value);
        System.out.println(super.value);

        this.publicMethod();
        super.publicMethod();
    }
}

main
----
package extend2.access;

import extend2.access.child.Child;

public class ExtendAccessMain {

    public static void main(String[] args) {
        Child chlid = new Child();
        chlid.call();
    }
}

출력
child
parent value
Child method
Parent method

this. 사용 시 클래스 내의 필드 값을 출력
super 사용 시 부모 클래스의 값을 출력

</aside>

image.png