편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
6번째 줄: | 6번째 줄: | ||
==일반 메소드 (InstanceMethod)== | ==일반 메소드 (InstanceMethod)== | ||
< | <source lang='python'> | ||
class InstanceMethod(object): | class InstanceMethod(object): | ||
def __init__(self): | def __init__(self): | ||
16번째 줄: | 16번째 줄: | ||
IM = InstanceMethod() | IM = InstanceMethod() | ||
print(IM.get_class_name()) | print(IM.get_class_name()) | ||
</ | </source> | ||
:→ 인스턴스 IM 생성후, 생성된 인스턴스 IM으로 get_class_name 메소드 호출 | :→ 인스턴스 IM 생성후, 생성된 인스턴스 IM으로 get_class_name 메소드 호출 | ||
==@classmethod== | ==@classmethod== | ||
*클래스 메소드는 일반 메소드와 달리 | *클래스 메소드는 일반 메소드와 달리 인스턴스를 생성없이 곧장 클래스를 통한 메소드 호출이 가능 | ||
*일반 메소드가 <code>self</code>를 넘기는 것처럼 클래스인<code>cls</code>를 | *일반 메소드가 <code>self</code>를 넘기는 것처럼 클래스인<code>cls</code>를 넘겨줌 | ||
*인스턴스의 생성을 통해서도 메소드 호출이 | *인스턴스의 생성을 통해서도 메소드 호출이 가능 | ||
< | <source lang='python'> | ||
class ClassMethod(object): | class ClassMethod(object): | ||
def __init__(self): | def __init__(self): | ||
33번째 줄: | 33번째 줄: | ||
print(ClassMethod.get_class_name()) | print(ClassMethod.get_class_name()) | ||
</ | </source> | ||
==@staticmethod== | ==@staticmethod== | ||
*스태틱 메소드는 인스턴스 없이 호출이 가능하다는 점에서 @classmethod와 동일하나 <code>cls</code>를 넘겨주지 않아도 | *스태틱 메소드는 인스턴스 없이 호출이 가능하다는 점에서 @classmethod와 동일하나 <code>cls</code>를 넘겨주지 않아도 됨 | ||
*인스턴스의 생성을 통해서도 메소드 호출이 | *인스턴스의 생성을 통해서도 메소드 호출이 가능 | ||
< | <source lang='python'> | ||
class StaticMethod(object): | class StaticMethod(object): | ||
51번째 줄: | 51번째 줄: | ||
print(StaticMethod.get_class_name()) | print(StaticMethod.get_class_name()) | ||
</ | </source> | ||
==같이 보기== | ==같이 보기== |