Python/포스팅

파이썬 생성자

짜집퍼박사(짜박) 2023. 12. 3. 02:34

파이썬에서 생성자는 클래스의 인스턴스가 생성될 때 호출되는 특별한 메서드로서, __init__이라는 이름을 갖습니다. 생성자는 클래스의 속성을 초기화하거나 필요한 초기 작업을 수행하는 데 사용됩니다.

 

기본적인 생성자의 사용

class MyClass:
    def __init__(self, parameter1, parameter2):
        self.parameter1 = parameter1
        self.parameter2 = parameter2

# MyClass 클래스의 객체 생성과 동시에 생성자 호출
my_object = MyClass("value1", "value2")

위의 예시에서 __init__ 메서드는 self 매개변수를 포함하여 두 개의 매개변수를 받고 있습니다. self는 인스턴스 자체를 나타냅니다. 새로운 객체가 생성될 때 이 생성자가 호출되면서, 객체의 속성인 parameter1과 parameter2가 초기화됩니다.

 

self 매개변수

self는 현재 인스턴스를 참조하는데 사용되는 관례적인 이름입니다. 생성자와 다른 메서드에서 self를 첫 번째 매개변수로 사용하는 것은 파이썬의 관례입니다. self를 통해 메서드 내에서 인스턴스 변수에 접근할 수 있습니다.

class MyClass:
    def __init__(self, value):
        self.value = value

    def print_value(self):
        print(self.value)

# MyClass 클래스의 객체 생성
my_object = MyClass("Hello")

# 객체의 메서드 호출
my_object.print_value()  # 출력: Hello

 

초기화 메서드의 호출 시점

인스턴스가 생성될 때 생성자가 자동으로 호출되며, 인스턴스를 초기화하는 역할을 합니다. 생성자는 일반적으로 속성 초기화나 다른 초기 설정을 수행합니다.

class MyClass:
    def __init__(self):
        print("Constructor is called.")

# MyClass 클래스의 객체 생성
my_object = MyClass()  # 출력: Constructor is called.

 

다양한 생성자 활용

클래스 내에서 여러 개의 생성자를 정의할 수 있습니다. 다양한 매개변수를 받아 다른 초기화 작업을 수행하는 생성자를 정의할 수 있습니다.

class MyClass:
    def __init__(self, value=None):
        if value is not None:
            self.value = value
        else:
            self.value = "Default"

# 생성자에 값 전달
obj1 = MyClass("Custom Value")
print(obj1.value)  # 출력: Custom Value

# 기본값으로 생성
obj2 = MyClass()
print(obj2.value)  # 출력: Default

위의 예시에서 __init__ 메서드는 value라는 매개변수를 받으며, 이 매개변수에 값이 전달되면 해당 값으로 객체의 속성을 초기화하고, 값이 전달되지 않으면 기본값인 "Default"로 초기화합니다.

파이썬의 생성자(__init__)는 객체의 초기화에 사용되며, 클래스를 정의할 때 필요한 초기 설정이나 속성을 정의하는 데 중요한 역할을 합니다.

 

With ChatGPT

'Python > 포스팅' 카테고리의 다른 글

파이썬 메서드 오버라이딩  (0) 2023.12.03
파이썬 클래스 상속  (0) 2023.12.03
파이썬 객체  (0) 2023.12.03
파이썬 클래스  (0) 2023.12.03
파이썬 sys 모듈  (0) 2023.12.03