강아지 클래스로 각 개체가 배운 재주를 저장하려고 했는데 이상하게 섞입니다.
class Dog:
tricks = []
def add_trick(self, trick):
self.tricks.append(trick)
이렇게 만들고 두 마리를 따로 생성했어요.
a = Dog()
b = Dog()
a.add_trick('구르기')
b.add_trick('앉아')
print(a.tricks)
print(b.tricks)
a 한테는 구르기만, b 한테는 앉아만 들어있길 기대했는데 실제로는
['구르기', '앉아']
['구르기', '앉아']
둘 다 똑같이 나옵니다. a 에 추가한 게 b 한테도 보이고 반대도 그래요. 분명 인스턴스는 따로 만들었는데 리스트만 왜 같이 공유되는 건가요? 인스턴스마다 재주 목록을 따로 갖게 하려면 어디를 고쳐야 하는지 알려주시면 감사하겠습니다.