생활코딩/생활코딩 Java

Java_상속 - this & super

양상추상츄 2021. 10. 14. 14:14

https://www.youtube.com/watch?v=3S4Tbz5H-H0 

 

class Cal{

    public int sum(int v1, int v2){

        return v1+v2;

    }

    // Overloading

    public int sum(int v1, int v2, int v3){ // this 자기자신을 가리킴 Cal의 sum 메소드

        return this.sum(v1,v2)+v3;

    }

}

 

class Cal3 extends Cal{

    public int minus(int v1, int v2){

        return v1-v2;

    }

    // Overriding

    public int sum(int v1, int v2){ // super는 부모의 변수나 메소드

        System.out.println("Cal3!!");

        return super.sum(v1,v2); //Cal의 sum 메소드

    }

}

 

public class InheritanceApp {

    public static void main(String[] args) {

        Cal c = new Cal();

        System.out.println(c.sum(2,1)); //3

        System.out.println(c.sum(2,1,1)); //4

 

        Cal3 c3 = new Cal3();

        System.out.println(c3.sum(2,1)); //Cal3!! 3

        System.out.println(c3.minus(2,1)); //1

        System.out.println(c3.sum(2,1)); //Cal3!! 3

    }

}