인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김동현님의 프로필 이미지
김동현

작성한 질문수

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

스타크래프트 프로젝트 전반전

marine(attackUnit)

작성

·

160

0

class marine(AttackUnit):

def__init__(self): ★

AttackUnit.__init__(self,"마린",40,1,5) ●

★이 부분에서 self만 넣어줬는데 ●이 부분에서 마린과 40 1 5를 넣을 수 있는 이유는 무엇인가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

marine 클래스가 AttackUnit 클래스를 상속받았기 때문에, marine 클래스의 생성자 __init__에서 self를 사용하여 AttackUnit 클래스의 생성자를 호출하실 때 AttackUnit의 생성자가 요구하는 인수들인 "마린", 40, 1, 5를 전달해야 합니다.

여기서 self는 현재 marine 객체를 말하며, 객체를 생성할 때 AttackUnit의 생성자를 호출하여 marine 객체를 초기화하는 데 필요한 값들을 전달하는 것입니다. 다시 말해, marine 인스턴스가 생성될 때 AttackUnit에 정의된 생성자를 사용하여 marine 객체의 이름, 체력, 이동 속도, 공격력 등의 값을 초기화하는 것이죠.

김동현님의 질문에 도움이 되었기를 바랍니다. 추가 질문이 있으시면 언제든지 문의해주세요. 감사합니다!

김동현님의 프로필 이미지
김동현

작성한 질문수

질문하기