class HousePark:
lastname = "Park "
def __init__(self, name):
self.fullname=self.lastname+name
def travel(self, where):
print('%s %s 여행을 가네' % (self.fullname , where))
def love(self, other):
print("%s, %s 사랑하네 " % (self.fullname, other.fullname))
def fight(self, other):
print("%s, %s 전쟁났네 " % (self.fullname, other.fullname))
def __add__(self, other):
print("%s, %s 결혼하네 " % (self.fullname, other.fullname))
def add3(self, a, b):
k = a+b
print("2덧셈 %d + %d = %d 입니다." % ( a, b, k))
def __sub__(self, other):
print("%s, %s 각방 쓰네" % (self.fullname , other.fullname))
class HouseKim(HousePark):
lastname = "Kim "
def travel(self, where, day):
print("%s %s으로 여행 %d일 가네" % (self.fullname , where, day))
def add3(self, a, b, c, d):
k = a+b+c+d
print("4덧셈 %d + %d + %d + %d = %d 입니다." % (a, b, c, d, k))
romio = HousePark("Adam")
julet = HouseKim('Eve')
romio.travel("정동진")
julet.travel("정동진", 3)
romio.love(julet)
romio + julet # 그냥 인스턴스끼리 +를 하면 내장메서드인 __add__를 불러온다고 생각할 것
# romio.add(julet) # 위 아래는 모두 동일한것이다. 하지만 위에것을 많이 쓴다
romio.__add__(julet)
romio.add3(3, 5)
# julet.add3(3, 5, 7)
julet.add3(3, 5, 7, 9)
romio.fight(julet)
romio - julet
Park Adam 정동진 여행을 가네
Kim Eve 정동진으로 여행 3일 가네
Park Adam, Kim Eve 사랑하네
Park Adam, Kim Eve 결혼하네
Park Adam, Kim Eve 결혼하네
2덧셈 3 + 5 = 8 입니다.
4덧셈 3 + 5 + 7 + 9 = 24 입니다.
Park Adam, Kim Eve 전쟁났네
Park Adam, Kim Eve 각방 쓰네