웹사이트 검색

파이썬 클래스와 객체


Python은 객체 지향 프로그래밍 언어입니다. Python 클래스 및 개체는 Python 프로그래밍 언어의 핵심 빌딩 블록입니다.

파이썬 클래스

지금까지 여러분 모두 Python 데이터 유형에 대해 이미 배웠을 것입니다. 파이썬의 기본 데이터 유형은 한 번에 한 종류의 데이터만 참조합니다. 자체적으로 둘 이상의 데이터 유형을 포함하고 함수의 도움으로 작업할 수 있는 데이터 유형을 선언할 수 있다면 어떻게 될까요? 파이썬 클래스는 당신에게 그 기회를 제공합니다. Python 클래스는 클래스의 인스턴스가 생성되는 청사진입니다.

간단한 Python 클래스 선언

다음은 파이썬 클래스 정의의 가장 기본적인 구조입니다.

class ClassName:  
    # list of python class variables  
    # python class constructor  
    # python class method definitions

이제 실제 예제로 작업해 보겠습니다.

#definition of the class starts here  
class Person:  
    #initializing the variables  
    name = ""  
    age = 0  
      
    #defining constructor  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge  
  
    #defining class methods  
    def showName(self):  
        print(self.name)  
  
    def showAge(self):  
        print(self.age)  
          
    #end of the class definition  
  
# Create an object of the class  
person1 = Person("John", 23)  
#Create another object of the same class  
person2 = Person("Anne", 102)  
#call member methods of the objects  
person1.showAge()  
person2.showName() 

파이썬 클래스 정의

class Person: 

이 줄은 'Person' 클래스에 대한 클래스 정의의 시작을 표시합니다.

파이썬 클래스 변수

    #initializing the variables  
    name = ""  
    age = 0

'name'과 'age'는 'Person' 클래스의 두 멤버 변수입니다. 이 클래스의 객체를 선언할 때마다 이 두 변수가 멤버로 포함됩니다. 이 부분은 생성자에 의해 초기화될 수 있으므로 선택 사항입니다.

파이썬 클래스 생성자

    #defining constructor  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge

Python 클래스 생성자는 클래스의 새 개체를 만들 때 실행되는 첫 번째 코드 조각입니다. 주로 생성자를 사용하여 멤버 변수에 값을 넣을 수 있습니다. 개체가 생성되었는지 확인하기 위해 생성자에 메시지를 인쇄할 수도 있습니다. 파이썬 상속에 대해 알게 되면 생성자의 더 큰 역할을 배우게 될 것입니다. 생성자 메서드는 def __init__로 시작합니다. 이후 첫 번째 매개변수는 클래스 자체의 인스턴스에 대한 참조를 전달하므로 'self'여야 합니다. 예제에 표시된 방식과 같은 추가 매개변수를 추가할 수도 있습니다. 'personName'과 'personAge'는 새 개체를 만들 때 보낼 두 개의 매개 변수입니다.

파이썬 클래스 메서드

#defining python class methods  
    def showName(self):  
        print(self.name)  

메서드는 다음과 같은 방식으로 선언됩니다.

def method_name(self, parameter 1, parameter 2, …….)
    statements……..
    return value (if required)

앞서 언급한 예에서 showName() 메서드가 해당 객체의 '이름' 값을 출력하는 것을 보았습니다. 우리는 언젠가 파이썬 메서드에 대해 더 많이 논의할 것입니다.

파이썬 클래스 객체

# Create an object of the class  
person1 = Person("Richard", 23)  
#Create another object of the same class  
person2 = Person("Anne", 30)  

#call member methods of the objects  
person1.showAge()
person2.showName()

파이썬에서 객체를 생성하는 방법은 매우 간단합니다. 처음에는 할당 연산자와 매개 변수가 있는 클래스 이름(생성자에 정의된 대로)이 뒤에 오는 새 개체의 이름을 입력합니다. 매개변수의 수와 유형은 생성자 함수에서 받은 매개변수와 호환되어야 합니다. 개체가 생성되면 멤버 메서드를 호출할 수 있고 멤버 특성에 액세스할 수 있습니다(액세스 가능한 경우).

#print the name of person1 by directly accessing the ‘name’ attribute
print(person1.name)

이것이 파이썬 클래스의 기본 사항입니다. 다음 튜토리얼에서 상속, 다형성과 같은 파이썬 객체 지향 기능에 대해 배우게 될 것이므로 파이썬 클래스와 그 기능에 대해 더 많이 배울 것입니다. 그때까지 행복한 코딩과 안녕! 질문이 있으시면 언제든지 댓글을 달아주세요. 참조: Python.org 문서