<aside> 💡 인스턴스가 각 매장이라면 클래스는 본사입니다. 이번 강에서 배우는 요소들은 본사가 갖고 있고 모든 매장들에 동일하게 적용되는 요소들입니다.
</aside>
class YalcoChicken:
# 클래스 변수
company_name = "얄코치킨"
def __init__(self, no, name):
self.no = no
self.name = name
def intro(self):
return f"안녕하세요, {YalcoChicken.company_name} {self.no}호 {self.name}점입니다!"
pass
YalcoChicken |
---|
company_name = “얄코치킨 |
store_1 | store_2 | store_3 |
---|---|---|
no = 1 | no = 2 | no = 3 |
name = “강남” | name = “판교” | name = “제주” |
<aside> 💡 인스턴스 속성들은 각 매장마다 따로 있지만 클래스 변수는 본사 한 곳에만 위치합니다.
</aside>
# 클래스 변수는 인스턴스 메소드에서 사용 가능 (반대는 동작X)
store_1 = YalcoChicken(1, "강남")
store_1_intro = store_1.intro()
# 클래스 변수는 클래스에서 접근 가능 (인스턴스에서도 가능)
yc_company_name = YalcoChicken.company_name
클래스 메소드
# 클래스 메소드
@classmethod
def change_company_name(cls, new_name):
cls.company_name = new_name
@classmethod
로 명시cls
받음
YalcoChicken.change_company_name("얄코순대국밥")
yc_new_company_name = YalcoChicken.company_name
store_1_new_intro = store_1.intro()
정적 메소드