오늘의 학습 키워드:
class : __init__ 함수 / 상속 /
class 객체(object) 다루기
공부한 내용 본인의 언어로 정리하기:
__init__ 는 생성자(Constructor)라고 부르기도 한다.
사용자가 따로 호출하지 않아도 클래스 객체를 생성할 때 자동으로 호출이 되는 부분
python의 class 상속이란, 클래스를 생성할 때 다른 클래스에 선언된 변수, 메소드 등의 기능들을 가져와 사용할 수 있도록 해주는 기능
동일한 코드를 여러 클래스에서 조금씩 수정해 사용하거나 모듈에 내장되어 있는 클래스를 변경할 때 주로 사용한다.
오늘의 회고:
↓상속을 사용하면 코드를 간소화할 수 있다.↓
class Monster():
def __init__(self, hp):
self.hp = hp
def attack(self, damage):
self.hp -= damage
def status_check(self):
print(f"monster's hp : {self.hp}")
class FireMonster(Monster):
def __init__(self, hp):
self.attribute = "fire"
# super()를 사용하면 부모 클래스의 코드를 그대로 사용할 수 있습니다.
# 해당 코드는 self.hp = hp 코드를 실행시키는 것과 동일합니다.
super().__init__(hp)
# 부모 클래스에 존재하는 status_check 메소드를 overriding 합니다.
def status_check(self):
print(f"fire monster's hp : {self.hp}")
class IceMonster(Monster):
def __init__(self, hp):
self.attribute = "ice"
super().__init__(hp)
def status_check(self):
print(f"ice monster's hp : {self.hp}")
fire_monster = FireMonster(hp=100)
# FireMonster 클래스에는 attack 메소드가 없지만
# 부모 클래스에서 상속받았기 때문에 별도의 선언 없이 사용 가능합니다.
fire_monster.attack(20)
fire_monster.status_check()
ice_monster = IceMonster(hp=200)
ice_monster.attack(50)
ice_monster.status_check()
class 객체(object) 다루기
class = 과자틀
class를 사용해서 만들어진 과자 = 인스턴스(instance) = 객체(object)
12시간 중 얼마나 몰입했는지:
10%
더 나은 미래를 위해 내일 어떤 공부를 진행할 것인지:
장
'내일배움캠프 AI 웹 프로그래밍' 카테고리의 다른 글
내일배움캠프 17일차 TIL_class 객체(object) 다루기 (0) | 2023.08.30 |
---|---|
내일배움캠프 16일차 TIL_class 객체(object) 다루기 (0) | 2023.08.29 |
내일배움캠프 14일차 TIL_비교연산자 (0) | 2023.08.29 |
내일배움캠프 13일차 TIL_변수 유효 범위(variable scope) (0) | 2023.08.23 |
내일배움캠프 12일차 TIL_코드 컨벤션과 네이밍 컨벤션 표기법 (0) | 2023.08.23 |