생활코딩/생활코딩 Java

Java_상속 - Overriding vs Overloading

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

https://www.youtube.com/watch?v=RvZ5yJvaUAc&t=146s 

 

 

class Cal {
    public int sum(int v1, int v2) {
        return v1+v2;
    }
    

    //Overloading : 기존 내용에서 더 추가 하여 수정함
    public int sum(int v1, int v2, int v3) { // 자식 클래스에도 옮길수 있음
        return 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) { // 부모 클래스 메소드 수정

        System.out.println("Cal3!!!");
        return v1+v2;
    }
}

public class InheritanceApp {
    public static void main(String[] args) {
        Cal c = new Cal();
        System.out.println(c.sum(2,1));
        System.out.println(c.sum(2,1,1));
        
        Cal3 c3 = new Cal3();
        System.out.println(c3.sum(5,5));
        System.out.println(c3.minus(5,5));  
    }
}


3
4
Cal3!!!
10
0