Python에서 `__init__`은 클래스의 생성자(Constructor)로서, 클래스의 인스턴스가 생성될 때 자동으로 호출되는 특별한 메서드입니다. 클래스의 인스턴스가 생성될 때 초기화 작업을 수행하는데 사용됩니다.
클래스는 객체를 생성하기 위한 템플릿 또는 설계도와 같은 역할을 합니다.
클래스로부터 생성된 객체를 인스턴스라고 합니다. `__init__` 메서드는 클래스로부터 인스턴스가 생성될 때 호출되므로, 객체의 초기 상태를 설정하는 데 유용합니다. 객체가 생성될 때 필요한 변수를 초기화하거나 다른 초기 설정 작업을 수행하는 등 객체 생성의 초기 단계를 정의하는 역할을 합니다.
`__init__` 메서드의 첫 번째 인자는 `self`로 정의되며, 이는 해당 클래스의 인스턴스를 나타냅니다.
`self`를 통해 인스턴스의 속성(attribute)을 설정하거나 메서드를 호출할 수 있습니다. `__init__` 메서드가 호출될 때 전달되는 나머지 인자들은 해당 클래스의 생성자에 전달되는 인자들로 사용됩니다.
아래는 `__init__` 메서드를 사용한 간단한 클래스의 예제입니다:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
# 클래스의 인스턴스 생성
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
# 메서드 호출
person1.greet() # 출력: Hello, my name is Alice and I am 30 years old.
person2.greet() # 출력: Hello, my name is Bob and I am 25 years old.
```
위의 예제에서 `__init__` 메서드는 `Person` 클래스의 생성자로서, 클래스의 인스턴스가 생성될 때 `name`과 `age`라는 두 개의 인자를 받아서 해당 인스턴스의 `name`과 `age` 속성을 초기화합니다. 생성된 인스턴스를 사용하여 `greet` 메서드를 호출하여 각 인스턴스의 정보를 출력합니다.
'백엔드 프레임워크 & 언어 > Python' 카테고리의 다른 글
Python "__doc__" 스트링 (0) | 2023.07.24 |
---|---|
Python의 "__del__" 소멸자 (0) | 2023.07.24 |
Python "__name__" 속성 (0) | 2023.07.24 |
Python에서 __init__.py 파일의 역할 (0) | 2023.07.24 |
Python Class 만들기 (0) | 2023.07.24 |