[생성자]
객체를 생성하는 기능의 메서드 = 클래스명과 동일한 이름으로 호출한다.
객체를 생성할 때, 값을 전달하고 싶다
->값을 전달받는 생성자를 만들어보자.
<실습>생성자.py
- 생성자 호출시, 객체값 자동 전달
- 생성자 호출: 클래스명()
- 생성자 구현:
def __init__(self):
pass
-매개변수 생성자를 만들면, 디폴트 생성자를 사용할 수 없다.
<매개변수생성자>
def __init__(self,변수,변수):
pass
<디폴트 생성자>
def __init__(self):
pass
<실습>애완동물등록제_생성자.py
#애완동물등록
class Animal:
phone='010-5555-6666'
address='서울시 은평구'
def masterInfo():
print('master.phone:',Animal.phone)
print('master.address:',Animal.address)
def __init__(self,kind,name,age,gender):
self.kind = kind
self.name = name
self.age = age
self.gender = gender
def animalInfo(self):
print('kind:',self.kind)
print('name:',self.name)
print('age:',self.age)
print('gender:',self.gender)
print('Animal.phone:',self.phone)
print('Animal.address:',self.address)
ani1 = Animal('고양이','나르',1,'남자')
ani2 = Animal('리트리버','문',3,'남자')
ani3 = Animal('고양이','장수',1,'여자')
print('--주인 정보--')
Animal.masterInfo()
print('동물1의 정보------')
ani1.animalInfo()
print('동물2의 정보------')
ani2.animalInfo()
print('동물3의 정보------')
ani3.animalInfo()