Python 클래스와 객체

파이썬은 객체 지향 프로그래밍 언어입니다. 파이썬 클래스와 객체는 파이썬 프로그래밍 언어의 핵심 구성 요소입니다.

파이썬 클래스

이제까지 여러분은 이미 파이썬 데이터 유형에 대해 배웠을 것입니다. 기억하십니까, 파이썬의 기본 데이터 유형은 한 번에 하나의 유형의 데이터만을 참조합니다. 함수의 도움으로 여러 데이터 유형을 포함하고 그들과 작업할 수 있는 데이터 유형을 선언할 수 있다면 어떨까요? 파이썬 클래스는 그런 기회를 제공합니다. 파이썬 클래스는 해당 클래스의 인스턴스가 생성되는 청사진입니다.

간단한 파이썬 클래스 선언

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

class ClassName:  
    # 파이썬 클래스 변수 목록  
    # 파이썬 클래스 생성자  
    # 파이썬 클래스 메소드 정의

이제 실제 예제를 살펴보겠습니다.

#클래스 정의의 시작  
class Person:  
    #변수 초기화  
    name = ""  
    age = 0  
      
    #생성자 정의  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge  
  
    #클래스 메서드 정의  
    def showName(self):  
        print(self.name)  
  
    def showAge(self):  
        print(self.age)  
          
    #클래스 정의의 끝  
  
#클래스의 객체 생성  
person1 = Person("John", 23)  
#동일한 클래스의 또 다른 객체 생성  
person2 = Person("Anne", 102)  
#객체의 멤버 메서드 호출  
person1.showAge()  
person2.showName() 

이 예제는 거의 자명합니다. 우리가 아는 바와 같이, “#”으로 시작하는 줄은 파이썬 주석입니다. 주석은 다음 실행 단계를 설명합니다. 이 코드는 다음 출력을 생성합니다.

파이썬 클래스 정의

class Person: 

이 줄은 ‘Person’ 클래스의 클래스 정의의 시작을 나타냅니다.

파이썬 클래스 변수

    #변수 초기화  
    name = ""  
    age = 0

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

파이썬 클래스 생성자

    # 생성자 정의  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge

파이썬 클래스 생성자는 클래스의 새 객체를 생성할 때 실행되는 첫 번째 코드입니다. 주로 생성자는 멤버 변수에 값을 넣는 데 사용될 수 있습니다. 또한 생성자에서 메시지를 출력하여 객체가 생성되었는지 확인할 수 있습니다. 우리는 파이썬 상속에 대해 알게되면 생성자의 더 큰 역할을 배울 것입니다. 생성자 메서드는 def __init__로 시작합니다. 그 후 첫 번째 매개변수는 ‘self’여야 하며, 이는 클래스 자체의 인스턴스에 대한 참조를 전달합니다. 예시에서 보는 것처럼 ‘personName’과 ‘personAge’와 같이 추가 매개변수를 추가할 수도 있습니다. ‘personName’과 ‘personAge’는 새 객체를 생성할 때 보낼 두 매개변수입니다.

파이썬 클래스 메서드

# 파이썬 클래스 메서드 정의  
    def showName(self):  
        print(self.name)  

메서드는 다음과 같이 선언됩니다:

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

이전 예제에서 우리는 메서드 showName()이 해당 객체의 ‘name’ 값을 출력한다는 것을 보았습니다. 다른 날에 우리는 파이썬 메서드에 대해 더 많이 논의할 것입니다.

파이썬 클래스 객체

# 클래스의 객체를 생성합니다.  
person1 = Person("Richard", 23)  
# 동일한 클래스의 다른 객체를 생성합니다.  
person2 = Person("Anne", 30)  

# 객체의 멤버 메서드를 호출합니다.  
person1.showAge()
person2.showName()

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

# 'name' 속성에 직접 액세스하여 person1의 이름을 인쇄합니다.
print(person1.name)

이것으로 파이썬 클래스의 기본 사항에 대해 배웠습니다. 이후 튜토리얼에서 상속, 다형성과 같은 파이썬 객체 지향 기능에 대해 배우게 될 것이므로, 파이썬 클래스 및 그 기능에 대해 더 배우겠습니다. 그때까지 즐거운 코딩하시고 안녕히 가십시오! 질문이 있으시면 언제든지 댓글을 달아주세요. 참고: 파이썬.org 문서

Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects