생활코딩/생활코딩 Java

Java_상속 - 상속과 생성자

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

https://www.youtube.com/watch?v=OStTXyl636k 

//자바는 단하나의 클래스만 상속가능

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); // super로 부모클래스 생성자를 가져옴

        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

    }

}


Cal init!!
Cal init!! // 부모클래스의 생성자를 가져왔기 때문에 출력됨
Cal3 init!!
3
1

 

 

 

super() 메소드 설명

this() 메소드가 같은 클래스의 다른 생성자를 호출할 때 사용된다면, super() 메소드는 부모 클래스의 생성자를 호출할 때 사용됩니다.

http://www.tcpschool.com/java/java_inheritance_super

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com