logo

[Python] 생성자

생성자(Constructor)는 객체 지향 프로그래밍에서 매우 중요한 개념입니다. 그 기능의 핵심은 객체가 생성될 때 자동으로 호출되어 객체의 초기 상태를 구성하는 것입니다. Python에서는 __init__ 메소드를 사용하여 클래스의 생성자를 정의합니다. 이 메소드는 클래스의 객체가 생성될 때 자동으로 호출되어 객체의 기본 속성을 설정하거나 필요한 초기화 작업을 수행합니다. 여기에는 객체의 속성 값을 설정하거나 객체 작업에 필요한 자원을 준비하는 등의 작업이 포함됩니다.

 

생성자의 목적

생성자의 주된 두 가지 목적은 아래와 같습니다.

  1. 객체 초기화: 객체가 생성될 때 그 객체가 올바른 상태를 가지도록 만들기 위해 필요합니다. 이는 해당 객체의 속성에 초깃값을 할당하는 방법을 통해 이루어집니다.
  2. 필요한 자원 할당: 객체가 자신의 작업을 수행하는 동안 필요로 하는 외부 자원(파일, 데이터베이스 연결 등)을 할당하는 과정입니다.
 

생성자의 기본 형태와 사용법

Python에서 생성자를 정의하는 기본 형태는 다음과 같습니다.

class MyClass:
    def __init__(self, parameter1, parameter2):
        self.attribute1 = parameter1
        self.attribute2 = parameter2
        # 기타 필요한 초기화 코드
  • 여기서 __init__ 메소드는 생성자입니다. self 매개변수는 객체 자신을 가리키며, 필요한 만큼 추가 매개변수를 정의할 수 있습니다.
  • 이 매개변수들은 객체를 생성할 때 값을 전달받아 객체의 초기 상태를 설정하는 데 사용됩니다.

간단한 사용 예제를 통해 이를 더 명확히 이해해봅시다.

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

# Person 클래스의 객체 생성
person1 = Person("John Doe", 30)

# 객체의 속성에 접근
print(person1.name)  # John Doe 출력
print(person1.age)   # 30 출력

위의 예제에서 Person 클래스에는 이름과 나이를 초기화하는 생성자가 정의되어 있습니다. 객체를 생성할 때 nameage 매개변수에 해당하는 값을 전달하여 person1 객체의 초기 상태가 설정됩니다. 이처럼 생성자는 객체가 생성될 때 필요한 초기 설정을 위해 반드시 필요한 메소드입니다.

Previous
클래스와 객체