🔥 클래스와 객체의 개념
🔥 클래스의 생성자
🔥 클래스 상속
🔥 메서드오버라이딩
✍🏻 python
#가장 기본적인 형태의 class class Fish_bread: pass a = Fish_bread() # a는 객체, a는 Fish_bread의 인스턴스 b = Fish_bread() # b는 객체, b는 Fish_bread의 인스턴스
# 사칙연산 Class 만들어보기 : 생성자 없는 version(setdata) class FourCal: def setdata(self, first, second): self.first = first self.second = second def add(self): result = self.first + self.second return result def mul(self): result = self.first * self.second return result def sub(self): result = self.first - self.second return result def div(self): result = self.first / self.second return result a = FourCal() a.setdata(4,2) print(a.add()) # 6
__init__
을 이용해 생성자를 만들 수 있음✍🏻 python
# 사칙연산 Class 만들어보기 : 생성자 메서드(__init__) class FourCal: def __init__(self, first, second): # 객체가 생성되면 자동으로 생성자 호출 self.first = first self.second = second def add(self): result = self.first + self.second return result def mul(self): result = self.first * self.second return result def sub(self): result = self.first - self.second return result def div(self): result = self.first / self.second return result a = FourCal(4,2) # 4,2를 값으로 객체 a를 생성 print(a.first) # 4 print(a.second) # 2 print(a.add()) # 6 print(a.div()) # 2.0 print(a.mul()) # 8 print(a.sub()) # 2
✍🏻 python
# 사칙연산 Class 만들어보기 class FourCal: def __init__(self, first, second): # 객체가 생성되면 자동으로 생성자 호출 self.first = first self.second = second def add(self): result = self.first + self.second return result def mul(self): result = self.first * self.second return result def sub(self): result = self.first - self.second return result def div(self): result = self.first / self.second return result # # FourCal 클래스를 새로 생성한 MoreFourCal 클래스에 상속 # 기존 FourCal 클래스의 모든 기능을 사용할 수 있음 class MoreFourCal(FourCal): pass a = MoreFourCal(10,2) print(a.add()) # 12 print(a.div()) # 5.0 print(a.mul()) # 20 print(a.sub()) # 8
✍🏻 python
# 사칙연산 Class 만들어보기 class FourCal: def __init__(self, first, second): # 객체가 생성되면 자동으로 생성자 호출 self.first = first self.second = second def add(self): result = self.first + self.second return result def mul(self): result = self.first * self.second return result def sub(self): result = self.first - self.second return result def div(self): result = self.first / self.second return result # # 제곱 기능 추가 : 생성자(__init__)까지 상속해 오기 때문에 생성자 선언할 필요 없음 class MoreFourCal(FourCal): def pow(self): result = self.first ** self.second return result a = MoreFourCal(10,2) print(a.add()) # 12 print(a.div()) # 5.0 print(a.mul()) # 20 print(a.sub()) # 8 print(a.pow()) # 100
✍🏻 python
# 사칙연산 Class 만들어보기 class FourCal: def __init__(self, first, second): # 객체가 생성되면 자동으로 생성자 호출 self.first = first self.second = second def add(self): result = self.first + self.second return result def mul(self): result = self.first * self.second return result def sub(self): result = self.first - self.second return result def div(self): result = self.first / self.second return result # # 메서드 오버라이딩 # 똑같은 div란 메서드를 이용하는데 0으로 나눠도 오류가 안뜨게끔 메서드 수정 class SafeFourCal(FourCal): def div(self): if self.second == 0: return 0 else: return self.first / self.second a = SafeFourCal(10,0) print(a.div()) # 0