python
덕 타이핑(Duck typing)
장곰부대
2018. 4. 29. 00:33
만약 어떤 새가 오리처럼 걷고, 헤엄치고, 꽥꽥거리는 소리를 낸다면 나는 그 새를 오리라고 부를 것이다.
class Duck: def quack(self): print u"꽥꽥!" def feathers(self): print u"오리에게 흰색, 회색 깃털이 있습니다." class Person: def quack(self): print u"이 사람이 오리를 흉내내네요." def feathers(self): print u"사람은 바닥에서 깃털을 주어서 보여 줍니다." def in_the_forest(duck): duck.quack() duck.feathers() def game(): donald = Duck() john = Person() in_the_forest(donald) in_the_forest(john)
해당 변수, 메소드만 가지고 있으면 다른건 무시하고 실행한다는 뜻이다.
솔직히 자료형을 명시안해도 되는 파이썬이기 때문에 모르고 사용하고 있음
타 언어들은 덕 타이핑을 제네릭으로 표현 하던데
아무래도 덕 타이핑 개념에는 파이썬이 딱 맞지 않을까?