반응형
생성자란 객체화 시 자동으로 수행되는 문장을 만하는데
def __init__(파라미터): 를 통해 작성할 수 있다
생성자는 수동으로 만들어주지 않아도 객체화 시 자동으로 수행되긴 하지만
생성자를 만들 시 보낸 파라미터를 가지고 __init__ 하단에서 작성한 코드를 수행하게 되는데
위 예제에서는 객체화 시 보낸 name, age 파라미터를 self.name, age에 넣어준 후에
출력하는 내용인데 보면 a = ClassExample("철수", 20) 으로 객체화하고
뭔가 메소드를 호출한다거나 하는 내용이 없는데
객체화 한 것만으로도 생성자(Constructor)인 __init__ 메소드를 수행하는 것이 보인다
간단하게 정리해보자면
생성자란?
객체화 시 바로 수행하는 것!
__init__ 함수를 작성해서 객체화 시
바로 수행할 내용을 작성할 수 있다
예제로 사용한 코드는 아래와 같고
self 개념이 뭔 말인지 모를 경우는 아래 링크의 글을 참조해주면 된다
class ClassExample:
def __init__(self, name, age): # 생성자(Constructor) 생성 시 자동 수행
self.name = name
self.age = age + 5 # 변수 생성 후 파라미터로 보낸 값 할당
print("[생성자] self와 변수 비교 " + str(self.age) + " age : " + str(age))
print("[생성자] 이름 : " + self.name + " 나이 : " + str(self.age))
a = ClassExample("철수", 20) # 객체화 (ClassExample의 정보를 a에 담음)
반응형
'Language > Python' 카테고리의 다른 글
파이썬 패키지, 모듈, import 개념 및 예제 (0) | 2020.01.28 |
---|---|
파이썬 상속 예제 및 사용법 (1) | 2020.01.28 |
파이썬 self는 무슨 의미? (0) | 2020.01.27 |
파이썬 클래스 예제 및 사용법 (0) | 2020.01.20 |
파이썬 self를 넣은 함수와 넣지 않은 함수의 차이 (0) | 2020.01.19 |
댓글