참조: 열혈강의 파이썬, 이강성 저
Class 는 하나의 이름 공간이며 기본적으로 다음과 같다.
위에서 상속도 나와있는데 OOP를 아는 사람이라면 쉽게 이해가 가능하다.
class Name: #header
pass #body
pass #body
class는 위와 같이 header와 body의 형태이며, header의 경우, :를 붙인다. pass는 아무 일도 하지 않고 자리를 채우는 명령문이다.
method의 정의는 다음과 같다.
class MyClass:
def set(self, v):
self.value = v
def put(self):
print self.value
def set(self, v):
self.value = v
def put(self):
print self.value
method를 정의하기 위해서는 def를 사용하며, 첫 인수로 self를 사용한다. 이는 자바에서 쓰는 'this'와 유사하다고 보면 된다.(자기자신의 인스턴스 객체를 가리킨다)
method 호출은 두가지 방법이 있다.
1. Unbound Class Method
>>> MyClass.set(c, 'egg')
>>> MyClass.put(c)
>>> MyClass.put(c)
egg
2. Bound Instance Method
>>> c = MyClass()
>>> c.set('egg')
>>> c.put()
egg
class 내부에서의 method 호출은 self. 를 이용하여야 한다.