강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ak4411님의 프로필 이미지
ak4411

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

메소드 오버라이딩

2:20~2:30 질문입니다.

작성

·

213

0

안녕하세요 먼저 유읙한 강의 감사합니다.

강의를 듣는중 플라이어택유닛 클래스에서 "어택유닛"과 "플라이어블" 클래스를 상속 받았는데

다음에 __init__ 부분에서 상속받은 클래스들의 변수를 다적어줘야하는게 아닌가요??

speed= 0 을 밑에 어택유닛에만 적었는데,

그위에는 왜 안적어 주는지 궁금합니다.

답변 1

0

나도코딩님의 프로필 이미지
나도코딩
지식공유자

답변이 늦어 대단히 죄송합니다.

0 은 지상스피드인 부분으로 날아다니는 유닛에는 의미가 없는 값입니다. 

그래서 공중유닛은 생성할 때 지상 스피드를 받지 않도록 하기 위해서 __init__ 에는 speed 가 없답니다.

대신 AttackUnit 을 상속받고 있으며 AttackUnit 에는 초기화를 할 때 speed 를 필요로 하므로 임의로 0 이라는 값을 넣어주기 위해 AttackUnit.__init__ 에는 0 을 넣어주는 것이랍니다.

FlyableAttackUnit 의 __init__ 에는 AttackUnit 상관 없이 아무 값이나 받을 수 있습니다.

ak4411님의 프로필 이미지
ak4411

작성한 질문수

질문하기