반응형
__init__() 메서드는 클래스의 인스턴스가 생성될 때 자동으로 호출되는 특별한 메서드입니다. 이 메서드를 사용하여 인스턴스 변수를 초기화할 수 있습니다.
당연히 클래스를 정의하지 않고 __init__() 메서드만 사용한다면, __init__() 메서드는 단순히 함수로서 동작하게 됩니다. 클래스가 없으므로, self 매개변수를 사용할 수 없으며, 인스턴스 변수를 정의할 수도 없습니다.
예를 들어, 다음과 같이 Person 클래스를 정의하고, __init__() 메서드를 사용하여 인스턴스 변수 name과 age를 초기화할 수 있습니다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
print(person1.name, person1.age)
print(person2.name, person2.age)
위 코드는 Person 클래스를 정의하고, __init__() 메서드를 사용하여 name과 age 인스턴스 변수를 초기화합니다. person1과 person2 객체를 생성할 때, __init__() 메서드가 자동으로 호출되어 인스턴스 변수 name과 age를 초기화합니다.
마지막으로, person1과 person2 객체의 name과 age 인스턴스 변수를 출력합니다.
자 그렇다면 이번에는 __init()__메서드를 사용하지 않은 경우로 같이 비교해보겠습니다.
class PersonWithoutInit:
pass
person1 = PersonWithoutInit()
person1.name = "Alice"
person1.age = 25
person1 객체를 생성할 때는 __init__() 메서드가 없으므로, 인스턴스 변수를 따로 초기화해주어야 합니다
따라서, __init__() 메서드를 사용하여 클래스의 인스턴스가 생성될 때 인스턴스 변수를 초기화할 수 있습니다. 이를 통해 인스턴스 생성과 초기화를 한 번에 처리할 수 있으며, 코드의 가독성과 유지보수성을 높일 수 있습니다.
반응형
'성장일기 > 파이썬' 카테고리의 다른 글
[python] json모듈로 데이터 파싱하기 (0) | 2023.06.30 |
---|---|
[python] self 매개변수 self.xxx __init__(self) 이해하기 (0) | 2023.06.29 |
[python] 파이썬에서 API를 사용하기 위한 첫번째 작업 ( requests 모듈) (0) | 2023.06.28 |
[python] 데이터 입력 받기 input()함수 사용법 (0) | 2023.06.26 |
[python] 현재시간을 알려주는 time.localtime()함수 활용해서 ( 시,분,월 ) 찾기 (0) | 2023.06.26 |