zoaseo
To Infinity And Beyond
zoaseo
전체 방문자
오늘
어제
  • 분류 전체보기 (763)
    • 개발이 좋아서 (381)
      • SAP가 좋아서 (3)
      • Java가 좋아서 (42)
      • Spring이 좋아서 (50)
      • JPA가 좋아서 (0)
      • QueryDSL이 좋아서 (26)
      • Docker가 좋아서 (7)
      • Redis가 좋아서 (7)
      • AWS가 좋아서 (5)
      • CI/CD가 좋아서 (6)
      • Troubleshooting이 좋아서 (4)
      • Kotlin이 좋아서 (7)
      • SQL이 좋아서 (6)
      • HTTP가 좋아서 (21)
      • JavaScript가 좋아서 (30)
      • TypeScript가 좋아서 (6)
      • Vue가 좋아서 (21)
      • Flutter가 좋아서 (61)
      • React가 좋아서 (20)
      • Redux(React)가 좋아서 (2)
      • Angular가 좋아서 (22)
      • HTML이 좋아서 (9)
      • CSS가 좋아서 (15)
      • PHP가 좋아서 (9)
      • Illustrator가 좋아서 (2)
    • 노력이 좋아서 (169)
    • 결과물이 좋아서 (14)
    • 코딩연습이 좋아서 (168)
      • 이론이 좋아서 (62)
      • SQL이 좋아서 (90)
    • 유용한 사이트가 좋아서 (28)
    • Github (2)

인기 글

티스토리

hELLO · Designed By 정상우.
zoaseo

To Infinity And Beyond

[Dart] 2일차_객체지향_상속
개발이 좋아서/Flutter가 좋아서

[Dart] 2일차_객체지향_상속

2022. 12. 12. 17:02

1)

void main() {
  print('---------- Idol -----------');
  Idol apink = Idol(name: '에이핑크', membersCount: 5);

  apink.sayName();
  apink.sayMemberCount();

  print('---------- Boy Group -----------');
  BoyGroup bts = BoyGroup('BTS', 7);

  bts.sayName();
  bts.sayMemberCount();
  bts.sayMale();
  
  print('---------- Girl Group -----------');
  GirlGroup redVelvet = GirlGroup('Red Velvet', 5);
  
  redVelvet.sayName();
  redVelvet.sayMemberCount();
  redVelvet.sayFemale();
  
  print('---------- Type Comparison -----------');
  print(apink is Idol);
  print(apink is BoyGroup);
  print(apink is GirlGroup);
  
  print('---------- Type Comparison 2 -----------');
  print(bts is Idol);
  print(bts is BoyGroup);
  print(bts is GirlGroup);
  
  print('---------- Type Comparison 3 -----------');
  print(redVelvet is Idol);
  print(redVelvet is BoyGroup);
  print(redVelvet is GirlGroup);
}

// 상속 - inheritance
//
// 상속을 받으면 부모 클래스의 모든 속성을
// 자식 클래스가 부여받는다.
class Idol {
  // 이름
  String name;
  // 멤버 숫자
  int membersCount;

  Idol({
    required this.name,
    required this.membersCount,
  });

  void sayName() {
    print('저는 ${this.name}입니다.');
  }

  void sayMemberCount() {
    print('${this.name}은 ${this.membersCount}명의 멤버가 있습니다.');
  }
}

class BoyGroup extends Idol {
  BoyGroup(
    String name,
    int membersCount,
  ) : super(
          name: name,
          membersCount: membersCount,
        );

  void sayMale() {
    print('저는 남자 아이돌입니다.');
  }
}

class GirlGroup extends Idol {
  GirlGroup(
    String name,
    int membersCount,
  ) : super(
          name: name,
          membersCount: membersCount,
        );

  void sayFemale() {
    print('저는 여자 아이돌입니다.');
  }
}

 

'개발이 좋아서 > Flutter가 좋아서' 카테고리의 다른 글

[Dart] 3일차_객체지향_상속_static  (0) 2022.12.14
[Dart] 3일차_객체지향_상속_override  (1) 2022.12.14
[Dart] 2일차_객체지향_getter/setter  (0) 2022.12.12
[Dart] 2일차_객체지향  (0) 2022.12.12
[Dart] 2일차_함수 선언  (0) 2022.12.12

    티스토리툴바