관리 메뉴

FU11M00N

[Python] 다형성 본문

Programming/Python

[Python] 다형성

호IT 2020. 11. 24. 15:29

 - 다형성

같은 모양의 코드가 다른 동작을 하는 것

코드의 양을 줄이고, 여러 객체 타입을 하나의 타입으로 관리가 가능하여 유지 보수에 좋다.

메소드 오버라이딩도 다형성의 한 예

class Person:
    def __init__(self,name):
        self.name = name
    def work(self):
        print(self.name + "works hard")
class Student(Person):
    def work(self):
        print(self.name + "studies hard")
class Engineer(Person):
    def work(self):
        print(self.name + "develope something")
student = Student("Dave")
developer = Engineer("David")
student.work()
developer.work()

결괏 값 1

class Elf:
    def __init__(self,name):
        self.name = name
    def attack(self):
        print("마법으로 공격합니다")
class Fighter:
    def __init__(self,name):
        self.name = name
    def attack(self):
        print("주먹으로 공격합니다")
elf = Elf("Dave")
fighter = Fighter("Anthony")
ourteam = [elf,fighter]

for attacker in ourteam:
        attacker.attack()

 

'Programming > Python' 카테고리의 다른 글

[Python] 연산자 오버로딩  (0) 2020.11.24
[Python] Property  (0) 2020.11.24
[Python] 추상 클래스  (0) 2020.11.24
[Python]다중 상속  (0) 2020.11.24
[Python] 상속, 메소드 오버라이딩  (0) 2020.11.17
Comments