Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 생성자 메서드 __init__, 이렇게 작동합니다

__init__ 메서드란?

__init__은 파이썬 클래스에서 사용되는 특수한 예약 메서드로, 객체 지향 프로그래밍(OOP)에서 말하는 생성자(constructor) 역할을 합니다. 클래스로부터 객체(인스턴스)가 생성되는 순간 자동으로 호출되며, 이를 통해 해당 클래스의 속성(attribute)들을 초기화할 수 있습니다.

즉, 새로운 객체가 만들어질 때 반드시 거쳐가는 초기 설정 단계라고 생각하면 이해하기 쉽습니다.

__init__은 어떻게 사용할까?

예를 들어 'Car(자동차)'라는 클래스를 만든다고 가정해 보겠습니다. 자동차는 'color(색상)', 'model(모델)', 'speed(속도)'와 같은 속성을 가질 수 있고, 'start(시동 걸기)', 'accelerate(가속하기)', 'change_gear(기어 변경)'와 같은 동작(메서드)도 정의할 수 있습니다.

예제 코드

class Car(object):
    def __init__(self, model, color, speed):
        self.color = color
        self.speed = speed
        self.model = model

    def start(self):
        print("started")

    def accelerate(self):
        print("accelerating...")

    def change_gear(self, gear_type):
        print("gear changed")

위 코드에서 볼 수 있듯이, 생성자 메서드 __init__을 사용하여 객체가 생성되는 시점에 모델, 색상, 속도 등 클래스의 속성값을 한 번에 초기화했습니다.

객체 생성 시 __init__의 동작

실제로 객체를 만들면 __init__이 자동으로 호출됩니다.

my_car = Car("Sonata", "white", 0)
print(my_car.color)  # white
print(my_car.model)  # Sonata

'Car(...)'를 호출하는 순간 파이썬은 내부적으로 __init__ 메서드를 실행하며, 전달된 인수들이 self를 통해 각 속성에 할당됩니다. 덕분에 객체를 만들 때마다 필요한 초기값을 일관되게 설정할 수 있어 코드가 더 깔끔하고 안전해집니다.