다형성이란? 다형성(polymorphism)이란 "같은 이름을 가진 기능이 상황에 따라 다르게 동작함"을 의미한다. 비유를 해 보면, 똑같은 단어 "먹다"도 상황에 따라 다르게 쓰인다. "밥을 먹다"일수도 있고, "빵을 먹다"일수도 있다. 마찬가지로 파이썬에서 다형성은 객체지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념 중 하나로, 이 개념을 코드로 구현한다. 예를 들어 같은 이름의 함수나 메서드를 쓰더라도 어떤 객체(object)를 다루느냐에 따라 결과가 달라질 수 있다. 예를 들어, 우주에서 쓰레기를 수집하는 로봇이 있다고 가정해 보자. "진공 로봇"은 우주 먼지를 빨아들여 블랙홀 에너지로 바꾼다. "분쇄 로봇"은 고철 조각을 나노 입자로 분쇄해 우주로 ..