[파이썬] 클래스와 객체의 생성

Python은 객체 지향 프로그래밍 언어로서, 클래스와 객체를 통해 데이터와 관련 동작을 구조화할 수 있습니다. 클래스는 객체를 만들기 위한 템플릿이며, 객체는 클래스의 인스턴스입니다. 이번 글에서는 Python에서 클래스와 객체를 어떻게 생성하는지에 대해 알아보겠습니다.

클래스 생성

클래스는 class 키워드를 사용하여 선언됩니다. 클래스는 변수와 메서드를 포함하며, 객체의 속성과 동작을 정의합니다.

class MyClass:
    pass

위의 예제는 MyClass라고 불리는 빈 클래스를 생성하는 예시입니다. pass 키워드는 아무 동작도 수행하지 않고, 그 자리를 채워야 할 때 사용됩니다. 이 예제에서는 클래스의 내용을 나중에 추가할 것이라는 의미입니다.

객체 생성

클래스를 기반으로 객체를 생성하려면 클래스 이름 다음에 괄호를 사용하여 인스턴스를 만들면 됩니다. 이 인스턴스는 해당 클래스의 속성과 메서드를 모두 상속받습니다.

my_object = MyClass()

위 예제에서는 MyClass 클래스를 기반으로 my_object라는 객체를 생성합니다.

속성 추가

클래스에 속성을 추가하려면 객체의 메서드 내부에서 self 키워드를 사용하여 속성을 선언하고 초기값을 할당해야 합니다. self는 현재 객체를 가리키는 매개변수입니다.

class MyClass:
    def __init__(self):
        self.name = "John"
        self.age = 25

위 예제에서는 nameage라는 속성을 MyClass 클래스에 추가합니다. 이러한 속성은 객체가 생성될 때마다 자동으로 할당됩니다.

메서드 추가

클래스에 동작을 추가하려면 메서드를 선언해야 합니다. 메서드는 클래스 내에서 함수로 정의되며, 첫 번째 매개변수로 self를 사용해야 합니다.

class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def display_info(self):
        print(f"Name: {self.name}")
          print(f"Age: {self.age}")

my_object = MyClass("Alice", 30)
my_object.display_info()

위의 예제에서는 display_info라는 메서드를 MyClass 클래스에 추가합니다. 이 메서드는 nameage 속성을 출력하는 동작을 수행합니다.

결론

Python에서 클래스와 객체를 생성하는 것은 객체 지향 프로그래밍의 기본 개념입니다. 클래스는 객체를 만들기 위한 설계도이며, 객체는 클래스의 인스턴스입니다. 클래스와 객체는 코드의 재사용성과 모듈화를 높이기 위해 사용됩니다. 이를 통해 코드를 더 구조화하고 관리하기 쉬워집니다.