본문 바로가기
프로그래밍/Python

생성자

by leestun 2020. 7. 30.
반응형

[생성자]

객체를 생성하는 기능의 메서드 = 클래스명과 동일한 이름으로 호출한다.

객체를 생성할 때, 값을 전달하고 싶다
->값을 전달받는 생성자를 만들어보자.

<실습>생성자.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()


반응형

'프로그래밍 > Python' 카테고리의 다른 글

상속  (0) 2020.08.04
리스트 컴프리헨션  (0) 2020.08.02
클래스와 객체  (0) 2020.07.30
객체지향과 클래스  (0) 2020.07.29
람다함수  (0) 2020.07.29