파이썬에서 생성자는 클래스의 인스턴스가 생성될 때 호출되는 특별한 메서드로서, __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 |