클래스 상속(inheritance)

goal : dart 언어의 상속성을 이해하자.

상속성이란?

기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와준다.
기존 클래스의 기능을 가져와 재사용할 수있으면서도, 새로운 기능을 추가할 수 있게 만들어 준다.

클래스를 생성하여 추상화작업을 할때, 기능이 거의 비슷한 클래스들이 여러개 필요하다면, 추상화작업을 할때마다 동일한 코드들을 여러번 작성해야한다. 하지만 클래스를 부모클래스로부터 상속시킨다면 이를 방지할 수 있다.
상속받은 클래스는 부모클래스의 모든 속성과 메소드를 이미 가지고있다.

바퀴수 속성과 출력하는 메소드를가진 'Car' 클래스를 가정하자.

class Car{
  
  int numberofseat=5;
  void drive(){
    print('wheels turn');
  }
  
}

상속성을 이용한다면, 새 클래스를 만들때, 기존의 'Car' 클래스의 속성과 메소드를 다시 작성할 필요가 없다.

상위 클래스 상속

기존의 클래스를 상속하는 방법은 다음과 같다.

class 새 클래스이름 extends 상속받을클래스이름{}

'Car' 클래스를 상속받는 'ElectricCar' 클래스를 생성해보자.

  • 'ElectricCar' 클래스
    -추가할 속성
    int batterylevel =100 // 정수타입 배터리레벨 기본값 100 설정
    -추가할 메소드
    batteryLevel = 100 // 배터리레벨 100으로 재설정
class ElectricCar extends Car{
  
  int batterylevel = 100;
  
  void recharge(){
    batterylevel = 100;
  }
}

아래와 같이 'Car'클래스의 모든 요소들을 상속받음을 확인할 수 있다.

좋은 웹페이지 즐겨찾기