본문 바로가기
개발일지/임시카테고리

dart - class override (다트 - 클래스 오버라이드) 3

by 다니엘의 개발 이야기 2025. 3. 24.
320x100
void main() {
  TimesTwo tt = TimesTwo(2);
  
  print(tt.calculate());
  
  TimesFour tf = TimesFour(4);
  print(tf.calculate());
}

// method - function (class 내부에 있는 함수)
// override - 덮어쓰기 (우선시하다)
class TimesTwo {
  final int number;
  
  TimesTwo(
    this.number
  );
  
  int calculate(){
    return this.number * 2;
  }
}

class TimesFour extends TimesTwo{
  TimesFour (
    int number
  ): super(number);
  
  // 기존에 있던 산식과 다르게 쓰고 싶다면 override
  // 그리고 이게 override의 기본골자이다.
  @override
  int calcultate(){
    return super.number * 4;
  }
  
  // 하지만 만약, 그저 부모클래스에 계산이 추가로 필요한 것이라면
//   @override
//   int calculate(){
//     return super.calculate() * 2;
//   }
  // 이렇게도 표현 가능
}
300x250