백엔드 프레임워크 & 언어/Python

Python의 "__init__" 생선자

anodos 2023. 7. 24. 20:13

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