상속은 extends 를 사용하면 된다

 

부모가 가진 기능을 덮어씀으로써 제어할 수 있다 그것을 오버라이드 혹은 오버라이딩이라고 한다

 

오버라이딩은 덮어쓰기 기존에 부모 class에 존재하는 method를 재정의

 

오버로딩은 과적 기존에 존재하는 method와 동일한 이름의 method를 형태만 다르게 사용

 

this는 자기 자신 super는 부모를 의미

 

생성자가 있는 부모 클래스를 상속받으려면 생성자도 함께 상속 받아야 한다

 

class Cal{
    int v1,v2;
    Cal(int v1, int v2){
        System.out.println("Cal init!!");
        this.v1 = v1; this.v2 = v2;
    }
    public int sum(){return this.v1+v2;}
}
class Cal3 extends Cal{
    Cal3(int v1, int v2) {
        super(v1, v2);
        System.out.println("Cal3 init!!");
    }
    public int minus(){return this.v1-v2;}
}
public class InheritanceApp {
    public static void main(String[] args) {
        Cal c = new Cal(2,1);
        Cal3 c3 = new Cal3(2, 1);
        System.out.println(c3.sum()); // 3
        System.out.println(c3.minus()); // 1
    }
}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(16)  (0) 2021.09.25
공부(15)  (0) 2021.09.25
공부(14)  (0) 2021.09.25
공부(13)  (0) 2021.09.25
공부(12)  (0) 2021.09.24

+ Recent posts