본문 바로가기

컴퓨터/Python

클래스 선언

데이터와 메서드가 없는 클래스

>>> class MyClass:

"""Very simple class"""

pass

>>> dir()

['MyClass', '__builtins__', '__doc__', '__name__', '__package__']

>>> type(MyClass)

<class 'type'>


멤버 변수와 메서드가 있는 클래스

>>> class Person:

Name = "Default Name"

def Print(self):

print("My Name is {0}".format(self.Name))

>>> p1 = Person()

>>> p1.Print()

My Name is Default Name


self - 현재 인스턴스 객체를 가리키는 것(this 키워드와 동일)



바운드 메서드 - 메서드를 호출할 때 암묵적으로 첫 이자로 인스턴스 객체를 넘기는 방식

언바운드 메서드 - 메서드 호출 시 명시적으로 첫 인자로 인스턴스 객체를 전달하는 방식

>>> p1.Print()                    <<<바운드 메서드 호출

My Name is Default Name

>>> Person.Print(p1)             <<<언바운드 메서드 호출

My Name is Default Name