클래스 메서드와 정적 메서드

CODEDRAGON Development/Python

반응형



 

 

클래스 메서드와 정적 메서드

·         클래스 메서드는 정적 메서드와 비슷한데, 객체 인스턴스를 의미하는 self 대신 cls 라는 클래스를 의미하는 파라미터를 전달받습니다. 정적 메서드는 cls 파라미터를 전달받지 않습니다. 클래스 메서드는 이렇게 전달받은 cls 파라미터를 통해 클래스 변수 등을 엑세스할 수 있습니다.

·         일반적으로 인스턴스 데이터를 엑세스 필요가 없는 경우 클래스 메서드나 정적 메서드를 사용하는데, 이때 보통 클래스 변수를 엑세스할 필요가 있을 때는 클래스 메서드를, 클래스 변수 엑세스할 필요가 없을 때는 정적 메서드를 사용합니다.

 

클래스 메소드

정적 메소드

·         @classmethod

 

·         @staticmethod

·         cls 라는 클래스를 의미하는 파라미터를 전달받습니다.

·         cls 파라미터를 전달받지 않습니다.

·         인스턴스 객체를 참조하는 self 인자가 필요하지 않습니다.

·         인스턴스 데이터를 엑세스 필요가 없는 경우 사용

·         인스턴스 데이터를 엑세스 필요가 없는 경우 사용

·         클래스 변수를 엑세스할 필요가 있는 경우

·         클래스 변수를 엑세스할 필요가 없는 경우

 

 

 


반응형

'Development > Python' 카테고리의 다른 글

__coerce__()  (0) 2020.02.15
연산자 중복 (Operator Overloading)  (0) 2020.02.15
모듈 vs 클래스 vs 인스턴스  (0) 2020.02.15
정적 메서드(static method)  (0) 2020.02.15
파이썬에서 다형성  (0) 2020.02.15