[파이썬] 클래스의 기본 구조

Python에서 클래스는 객체 지향 프로그래밍을 구현하는 데 중요한 역할을 합니다. 클래스는 데이터와 해당 데이터를 조작하는 메서드를 포함하는 구조를 정의하는데 사용됩니다. 이번 블로그 포스트에서는 Python에서 클래스를 정의하는 기본적인 구조에 대해 알아보겠습니다.

클래스 정의하기

Python에서 클래스를 정의하기 위해서는 class 키워드를 사용합니다. 클래스 이름은 관례적으로 PascalCase로 작성되며, 대문자로 시작합니다.

class MyClass:
    pass

위의 예제에서 MyClass는 새로운 클래스의 이름입니다. pass문은 아무런 동작도 수행하지 않고 빈 블록을 나타내는데, 클래스 내부에는 최소한 하나 이상의 내용이 있어야 하기 때문에 사용되었습니다.

속성과 메서드 추가하기

클래스에는 속성메서드라는 두 가지 주요 구성 요소가 있습니다. 속성은 클래스의 특성이나 데이터를 나타내며, 메서드는 클래스에 속한 함수로 클래스의 동작을 정의합니다.

속성은 클래스 내부에서 정의되며, self를 사용하여 자기 자신을 참조합니다. self는 클래스 인스턴스를 가리키는 특별한 변수로, 모든 메서드에서 첫 번째 인자로 사용됩니다.

class MyClass:
    def __init__(self, name):
        self.name = name
    
    def say_hello(self):
        print("Hello, " + self.name + "!")

위의 예제에서 __init__ 메서드는 클래스의 생성자입니다. 이 메서드는 클래스 인스턴스가 생성될 때 자동으로 호출되며, 해당 메서드를 통해 속성을 초기화할 수 있습니다. self.name = namename이라는 속성에 전달받은 값을 할당하는 역할을 합니다.

say_hello 메서드는 인사말을 출력하는 메시지를 출력하는 역할을 합니다.

클래스 인스턴스 생성하기

클래스를 사용하여 인스턴스를 생성하는 것은 간단합니다. 클래스 이름을 호출하여 인스턴스를 생성할 수 있습니다.

my_object = MyClass("John")

위의 예제에서 MyClass의 인스턴스 my_objectname 속성에 “John”을 가지고 있습니다. say_hello 메서드는 다음과 같이 호출할 수 있습니다.

my_object.say_hello()

결과로 “Hello, John!”이 출력됩니다.

결론

Python에서 클래스는 객체 지향 프로그래밍의 기본 구성 요소입니다. 이 블로그 포스트에서는 클래스의 기본적인 구조를 정의하는 방법에 대해 알아보았습니다. 다음 포스트에서는 클래스의 상속과 다른 고급 주제에 대해 더 알아보도록 하겠습니다.

Happy coding!