본문 바로가기
Python/기초 문법

__init__ 메서드란?

by ISLA! 2023. 8. 3.

__init__ 이란?

 

  • 파이썬에서 클래스의 생성자 메서드를 표현하는 특별한 메서드이다
  • 클래서를 인스턴스화(객체 생성) 할 때 자동으로 호출되는 메서드로, 객체의 초기 상태 설정이나 초기화하는 데 사용된다

 

클래스, 객체, __init__  의 관계

 

  • 클래서는 객체를 생성하는 일종의 템플릿으로 볼 수 있다
  • 여기서 __init__ 메서드는 객체가 생성 될 때, 각 객체의 속성을 초기화하는 역할을 한다

 

🧐 예시 코드를 보자!

class MyClass:
    def __init__(self, arg1, arg2, ...):
        # 초기화 코드
        self.arg1 = arg1
        self.arg2 = arg2
        # ...

 

  • self 는 클래스의 인스턴스 자체를 가르키는 특별한 매개변수이다
    • self 를 통해 클래스의 속성에 접근하고 수정할 수 있다
  • arg1, arg2 등은 __init__  메서드가 인스턴스를 초기화하는 데 사용하는 인자(매개변수) 들이다
    • 클래스를 인스턴스화 할 때, 이러한 인자들을 전달하여 객체의 초기 상태를 설정한다

 

🧐 예시 코드를 하나 더 보자!

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Person 객체 생성
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)

print(person1.name)  # Output: "Alice"
print(person1.age)   # Output: 30
print(person2.name)  # Output: "Bob"
print(person2.age)   # Output: 25
  • Person 클래스를 정의하고, __init__ 메서드를 사용하여 이름과 나이를 초기화하는 경우이다
    • __init__ 메서드는 Person 클래스의 인스턴스를 생성할 때 이름과 나이를 초기화하는 역할
    • person1 객체는 이름이 Alice이고 나이가 30인 객체가 됨
    • person2 객체는 이름이 Bob이고 나이가 25인 객체가 됨

 

728x90