인프런 커뮤니티 질문&답변
staticmethod의 존재이유
작성
·
318
답변 1
2
윤상석
지식공유자
안녕하세요!
답변이 늦었네요 ㅠ_ㅠ
먼저 인스턴스 메서드가 아닌 classmethod와 staticmethod를 사용하는 이유는 인스턴스가 공통적으로 사용하는 변수를 제어할 경우 사용됩니다. https://www.inflearn.com/questions/308912 확인해주세요!
추가적으로 classmethod와 staticmethod의 큰 차이점은 상속을 할 때입니다!
classmethod의 cls 인자는 어떤 부모 클래스를 상속 받든 현재 클래스가 cls에 들어가는 반면 staticmethod는 어떤 자식 클래스에서 호출을 하든 처음 정의된 부모 클래스에 해당하는 영역의 값을 사용합니다!
(상속에 대한 차이점은 후에 강의하는 상속을 보시고 다시 답글을 보시면 좋을 것 같습니다! 그럼에도 이해가 되지 않으시면 자세한 예시를 들어 새로 보충 강의를 찍겠습니다!)
즐거운 추석 보내세요 :)





