인프런 커뮤니티 질문&답변
예제3 코드가 제대로 실행이 안되는데 이유가 궁금합니다.
작성
·
211
0
스파이더로 아래처럼 코드를 단순하게 바꿔서 실행하면
2가 프린트되는게 정상인것 같은데
처음 실행하면 1, 그 후에는 0이 프린트가 됩니다.
class Warehouse:
# 클래스 변수
stock_num = 0 # 재고
def __init__(self, name):
# 인스턴스 변수
self.name = name
Warehouse.stock_num += 1
def __del__(self):
Warehouse.stock_num -= 1
user1 = Warehouse('Lee')
user2 = Warehouse('Cho')
print(Warehouse.stock_num)

이런식으로요
예제파일을 그대로 실행해도 계속 비슷한 문제가 생기고
__del__ 을 삭제하면 정상적으로 실행되는 것 같습니다.
왜 이런 문제가 생기는건지 궁금합니다.
퀴즈
61%나 틀려요. 한번 도전해보세요!
객체지향 프로그래밍의 주요 장점 중 하나는 무엇일까요?
프로그램의 실행 속도가 항상 빨라진다
코드의 재사용성이 증가한다
메모리 사용량이 절반으로 줄어든다
절차 지향과 완전히 동일한 구조를 가진다





