투케이2K

36. (Flutter/플러터) [Mac] : [Dart] : 다트 - Mixins 사용해 다수 클래스 상속 (with) 및 메소드 재정의 수행 본문

Flutter

36. (Flutter/플러터) [Mac] : [Dart] : 다트 - Mixins 사용해 다수 클래스 상속 (with) 및 메소드 재정의 수행

투케이2K 2024. 5. 24. 19:14

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Dart

 

[소스 코드]

import 'package:flutter/material.dart';
import 'dart:developer';


// -----------------------------------------------------------------------------------------
// TODO [abstract mixin 클래스 생성]
// -----------------------------------------------------------------------------------------
abstract mixin class A {

  // [void 메소드 정의]
  void a_hello();

}





// -----------------------------------------------------------------------------------------
// TODO [abstract mixin 클래스 생성]
// -----------------------------------------------------------------------------------------
abstract mixin class B {

  // [void 메소드 정의]
  void b_hello();

}





// -----------------------------------------------------------------------------------------
// TODO [자식 클래스 생성]
// -----------------------------------------------------------------------------------------
class Child with A, B {

  // [부모 메소드 재정의]
  @override
  void a_hello() {
    log("");
    log("-------------------------------------------------------");
    log("Child :: a_hello");
    log("-------------------------------------------------------");
    log("");
  }


  // [부모 메소드 재정의]
  @override
  void b_hello() {
    log("");
    log("-------------------------------------------------------");
    log("Child :: b_hello");
    log("-------------------------------------------------------");
    log("");
  }

}





// -----------------------------------------------------------------------------------------
// TODO [main] : [application 의 진입점 역할]
// -----------------------------------------------------------------------------------------
void main() {

  /**
   * ------------------------------------------------
   * [요약 설명]
   * ------------------------------------------------
   * 1. Mixins은 다수의 클래스 계층에서 클래스의 코드를 재사용 할 수 있는 방법입니다
   * ------------------------------------------------
   * 2. 한 개 이상의 mixin 이름과 함께 with 키워드를 적용하여 mixin을 사용할 수 있습니다
   * ------------------------------------------------
   * */


  // [클래스 인스턴스 생성]
  var child = Child();


  // [메소드 호출 수행]
  child.a_hello();
  child.b_hello();

}
 

[결과 출력]


반응형
Comments