Search

클래스 상속

대분류
언어
소분류
Python
유형
super()
오버라이드
최종 편집 일시
2024/10/27 15:36
생성 일시
2024/07/08 06:06
15 more properties

클래스 상속

class Parent: def __init__(self): print("Parent 클래스의 생성자 호출") def parent_method(self): print("Parent 클래스의 메서드 호출") class Child(Parent): def __init__(self): print("Child 클래스의 생성자 호출")
Python
복사

super()

super()
super().메서드()
super()는 부모 클래스의 메서드를 호출할 때 사용
super()는 다중 상속 시에 사용하면 특정 순서로 호출 가능
class Character: def __init__(self): self.health = 100 def move(self): print("캐릭터가 이동합니다.") class Warrior(Character): def __init__(self): super().__init__() print("전사 클래스의 생성자 호출") def attack(self): print("전사가 공격합니다.")
Python
복사

Override

부모로부터 받은 메소드 또는 속성을 수정하고 싶을 때 자식 클래스에서 재정의
예제
class PlayerCharacter: def __init__(self,hp=100,exp=0): self.hp = hp self.exp = exp def attack(self): print("공격하기") self.exp = self.exp + 2 def defend(self): print("방어하기") self.exp = self.exp + 1 class Wizard(PlayerCharacter): # 상속 받기 def __init__(self,mp): super().__init__() # 부모클래스의 생성자를 실행하겠다. self.mp = mp def magic_skill(self): print("마법 공격하기") self.mp = self.mp - 2 # 메소드 오버라이딩 def defend(self): print("마법사가 방어하기") self.exp = self.exp + 3
Python
복사