[Python] 클래스: 정적멤버
기본적으로 클래스에 선언하는 메소드나, self.로 정의되는 변수들은 전부 객체(인스턴스) 단위에 종속되는 인스턴스 메소드/인스턴스 변수다.
그래서 객체를 생성하지 않고서는


해당 멤버들을 사용하는게 불가능하다.
하지만 코드를 짜다보면, 논리적으로 객체단위보단 클래스단위의 변수나 메서드가 필요할 때가 잦다.
정적멤버변수
그냥 클래스 내에 변수를 선언하면, 그건 클래스에서 단 하나만 선언되어 모두가 공유하는 변수가 된다.
이건 클래스 이름으로도, 객체로도 접근이 가능하다.
의미론적으론 클래스명으로 접근하는게 옳다.


정적메서드
self 매개변수만 제거해도 객체와의 연관관계가 사라져, 객체 없이도 호출할 수 있게 된다.

그대신 객체로는 접근이 불가하다.
객체로도 접근을 허용해주려면, staticmethod 데코레이터를 붙여주면 된다.

보기도 더 좋다.