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
위 예제에서는 name
과 age
라는 속성을 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
클래스에 추가합니다. 이 메서드는 name
과 age
속성을 출력하는 동작을 수행합니다.
결론
Python에서 클래스와 객체를 생성하는 것은 객체 지향 프로그래밍의 기본 개념입니다. 클래스는 객체를 만들기 위한 설계도이며, 객체는 클래스의 인스턴스입니다. 클래스와 객체는 코드의 재사용성과 모듈화를 높이기 위해 사용됩니다. 이를 통해 코드를 더 구조화하고 관리하기 쉬워집니다.