[python] 함수의 상속과 다형성
목차
상속
파이썬에서 함수는 다른 함수로부터 상속될 수 있습니다. 이는 이미 존재하는 함수를 기반으로 새로운 함수를 만들 수 있음을 의미합니다. 상속을 통해 코드를 재사용하고 유지보수를 용이하게 할 수 있습니다.
def parent_function():
# 부모 함수의 내용
pass
def child_function():
# 자식 함수의 내용
pass
위의 예시에서 child_function
은 parent_function
으로부터 상속받을 수 있습니다.
다형성
파이썬에서는 함수의 다형성을 지원합니다. 다형성은 동일한 이름을 가진 함수가 다른 기능을 수행할 수 있는 특성을 말합니다. 이는 코드의 유연성을 증가시키고 유지보수를 용이하게 만듭니다.
def function_overload(a, b=None):
if b is not None:
return a + b
else:
return a
위의 예시에서 function_overload
함수는 매개변수 b
의 유무에 따라 다른 동작을 수행합니다.
예제 코드
다음은 상속과 다형성을 활용한 간단한 예제 코드입니다:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
def make_speak(animal):
print(animal.speak())
dog = Dog()
make_speak(dog) # 출력: "Woof!"
cat = Cat()
make_speak(cat) # 출력: "Meow!"
참고 자료
- 파이썬 공식 문서: 파이썬 객체 지향 프로그래밍
- 뇌를 자극하는 파이썬