본문 바로가기

Programming/자바

생활코딩 자바 - 상속

상속의 개념

- 객체의 필드(변수)와 메소드를 다른 객체가 물려받는 기능

- 새로운 변수/메소드 추가 또는 변경 가능

- 기존 객체 유지하면서 기능 추가

- 부모 객체 - 자식 객체 /상위 클래스 - 하위 클래스 / 기초 클래스 - 유도 클래스

 

  •  

class Calculator {
int left, 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 SubCalculator extends Calculator {    => SubCalculator은 Calculator을 확장/상속한다
public void substract() {
System.out.println(this.left - this.right);
}
}

public class CalculatorDemo1 {

public static void main(String[] args) {
SubCalculator c1 = new SubCalculator();
c1.setOprands(10, 20);
c1.sum();
c1.avg();
c1.substract();
}

 

//

30
15
-10

 

 

다양한 종류의 상속
  •  

class DivCalculator extends MulCalculator {

public void div() {
System.out.println(this.left / this.right);
}
}

public class CalculatorDemo3 {

public static void main(String[] args) {
DivCalculator c1 = new DivCalculator();
c1.setOprands(10,20);
c1.sum();
c1.avg();
c1.mul();
c1.div();
}}

 

 

총정리

코드의 중복 제거

재활용성 높음

부모클래스 변경하면 자식클래스도 연동되므로 유지보수 편함