[Java] 상속

SeongEon Kim·2022년 4월 25일
0

JAVA

목록 보기
19/52
  1. 상속의 개념

    기존의 객체를 그대로 유지하면서 어떤 기능을 추가하는 방법을 고안하다가 등장한 개념이 바로 상속이다.
    기존의 객체를 수정하지 않으면서 새로운 객체가 기존의 객체를 기반으로 만들어지게 되는 것이다. 동시에 새로운 객체가 이미 존재하는 객체의 기능을 가지고 있을 수 있다면 더 좋을 것이다.
    기존의 객체는 기능을 물려준다는 의미에서 부모 객체가 되고, 새로운 객체는 기존 객체의 기능을 물려받는 다는 의미에서 자식 객체가 된다.
    부모 클래스와 자식 클래스 관계를 상위(super) 클래스와 하위(sub) 클래스라고 표현한다. 혹은 기초 클래스(base class), 유도 클래스(derived class)라고 부른다.

  2. 상속의 예시

    아래 두 개의 코드를 확인해보자.

    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 SubstractionableCalculator extends Calculator {
//Calculator클래스의 기능을 SubstractionableCalculator가 확장하고 있음.
public void substract() {
System.out.println(this.left - this.right);
}
}

두번째 코드의 클래스가 자식 클래스 이다.

부모 클래스에서 substract라는 메소드를 호출하고 있는데, 그 메소드는 자식클래스에서 표현되고 있다.

3. 상속의 장단점

 상속의 장점은 코드 중복 제거, 코드 유지 보수의 편리성, 가독성이 높음 이라는 장점이 있다. 그러나 복잡도의 증가라는 단점도 생길 수 있다.
profile
꿈을 이루는 사람

0개의 댓글