인프런 커뮤니티 질문&답변
클래스 상속 질문있습니다.
작성
·
319
0
부모 클래스를 상속할 때..
class Idol {
  String name;
  int membersCount;
  Idol({
    required this.name,
    required this.membersCount,
  });
  void sayName() {
    print('저는 ${this.name}입니다.');
  }
  void sayMembersCount() {
    print('${this.name}은/는 ${this.membersCount}명의 멤버로 구성되어 있습니다.');
  }
}
강의에서 설명해주신
class GirlGroup extends Idol {
  GirlGroup(
    String name,
    int membersCount,
  ) : super(
          name: name,
          membersCount: membersCount,
        );
}이 코드 대신
명시적으로
class BoyGroup extends Idol {
  BoyGroup({
    required super.name,
    required super.membersCount,
  });
}이렇게 사용해도 인스턴스에서 명시적으로 선언하는 것 외에 다른 차이는 없는 건가요?
(두 가지 모두 정상 출력확인했습니다.)
답변 1
0
코드팩토리
지식공유자
안녕하세요!
말씀주신 두 코드는 첫번째는 positional parameter를 사용하고 있고 두번째는 named parameter를 사용하고 있다는 사실 외에 다른점이 없습니다!
단순히 파라미터를 받아서 super 생성자에 넘겨주는 경우가 많아서 생긴 문법입니다.
감사합니다!





