`__init__`은 파이썬에서 특별한 메서드로, 초기화 메서드 또는 생성자(constructor)라고도 불립니다.
클래스를 정의할 때 `__init__` 메서드를 정의하면 해당 클래스의 객체가 생성될 때 자동으로 호출되는 특성을 가지고 있습니다.
`__init__` 메서드는 객체가 생성될 때 초기화 작업을 수행하는 역할을 합니다.
객체가 생성되면 클래스의 `__init__` 메서드를 호출하여 해당 객체의 속성을 초기화할 수 있습니다.
이러한 속성 초기화는 객체가 생성될 때마다 자동으로 수행되므로, 객체를 사용하기 전에 필요한 속성들을 설정하는데 유용합니다.
예시를 통해 `__init__` 메서드를 설명하겠습니다:
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.mileage = 0
def drive(self, miles):
self.mileage += miles
def display_info(self):
print(f"제조사: {self.make}, 모델: {self.model}, 연식: {self.year}, 주행거리: {self.mileage}km")
# Car 클래스의 인스턴스 생성
car1 = Car("현대", "소나타", 2022)
car2 = Car("기아", "K5", 2023)
# 객체의 속성을 초기화했으므로 display_info() 메서드 호출 가능
car1.display_info() # 출력: "제조사: 현대, 모델: 소나타, 연식: 2022, 주행거리: 0km"
car2.display_info() # 출력: "제조사: 기아, 모델: K5, 연식: 2023, 주행거리: 0km"
# 주행 후 주행거리 업데이트
car1.drive(100)
car2.drive(50)
# 주행거리가 업데이트된 정보 출력
car1.display_info() # 출력: "제조사: 현대, 모델: 소나타, 연식: 2022, 주행거리: 100km"
car2.display_info() # 출력: "제조사: 기아, 모델: K5, 연식: 2023, 주행거리: 50km"
위 예시에서 `Car` 클래스의 `__init__` 메서드는 `make`, `model`, `year` 매개변수를 받아서 `self.make`, `self.model`, `self.year` 속성을 초기화합니다. 또한 `self.mileage` 속성을 0으로 초기화하여 주행거리를 저장할 수 있도록 합니다.
객체 `car1`과 `car2`가 생성될 때 `__init__` 메서드가 자동으로 호출되어 각 객체의 속성이 초기화됩니다.
이후 `drive` 메서드를 통해 주행을 하고 `display_info` 메서드를 통해 객체의 속성 정보를 출력할 수 있습니다.
따라서 `__init__` 메서드를 사용하면 클래스의 객체가 생성될 때 속성을 초기화하여 해당 객체의 초기 상태를 정의할 수 있습니다.
'Programming > python' 카테고리의 다른 글
unit test를 python에서 해보자 (0) | 2023.07.25 |
---|---|
python에서의 while(반복문)에 대해서 알아봅시다. (0) | 2023.07.25 |
python에서 self에 대해서 알아보자 (0) | 2023.07.25 |
python 에서 global, protected, private에 대해서 알아보자 (전역과 보호) (0) | 2023.07.25 |
python lambda에 대해서 알아보자 (0) | 2023.07.25 |