본문 바로가기

IT

python - method (인스턴스 메소드, 클래스 메소드, 스테틱 메소드)

클래스 안에서 정의되는 메소드 3가지

 

1. instance method 

인스턴스를 통해서 호출이 되고, 첫번쨰 인자로 인스턴스 자신을 자동으로 전달 한다. 관습적으로 이 인수를 "self"라고 칭한다.

 

2. class method

클래스를 통해서 호출이 되고 "@classmethd"라는 데코레이터로 정의한다. 첫 번째 인자로는 클래스 자신이 자동으로 전달되고 이 인수를 관습적으로 'cls'라고 칭한다.

 

3. static method

두 메소드와는 다르게 인스턴스나 클래스를 첫 번째 인자로 받지 않는다. 스태틱 메소드는 클래스 안에서 정의되어 클래스 네임스페이스 안에 있을뿐 일반 함수와 전혀 다를게 없다. 하지만 클래스와 연관성이 있는 함수를 클래스 안에 정의하여 클래스나 인스턴스를 통해서 호출하여 조금 편하게 쓸수 잇다. "@staticmethod" 데코레이터를 사용한다.

 

__init__ 메소드 : 인스턴스가 만들어질때마다 실행
__dell__ 메소드 : 인스턴스가 제거될때마다 실행