전공 과목 이수2👨‍💻/JAVA(공)

Java | 상속과 생성자

천숭이 2021. 4. 6. 17:44
package soobin;

class Calculator {
    int left, right;
    
    // 부모클래스에 기본생성자를 만든다 / 생략 가능한 방법도 있다.
    public Calculator() {}
    
    public Calculator(int left, int right) {
    	this.left = left;
    	this.right = right;
    }
    
    public void setOprands(int left, int right) {
        this.left = left;
        this.right = right;
    }
 
    public void sum() {
        System.out.println(this.left + this.right);
    }
 
    public void avg() {
        System.out.println((this.left + this.right) / 2);
    }
}
 
class SubstractionableCalculator extends Calculator {
    public SubstractionableCalculator(int left, int right) {
    	super(left,right); 
    	// 위에있는 super부모클래스의 생성자로 올라가 매개변수 left,right를 건네준다
    }
    
    public void substract() {
    	System.out.println(this.left-this.right);
    }
}
 
public class CalculatorDemo1 {
    public static void main(String[] args) {
 
        SubstractionableCalculator c1 = new SubstractionableCalculator(10,20);
        c1.sum();
        c1.avg();
        c1.substract();
    }
 
}

출력 :

30
15
-10