카테고리 없음
다형성
CodeWithBeam
2024. 8. 9. 23:58
- 다형성(Polymorphism)은 객체 지향 프로그래밍의 중요한 특징으로, 여러 클래스에서 동일한 인터페이스나 메서드명을 사용하되, 각 클래스의 동작이 다르게 구현될 수 있음을 의미한다.
- 파이썬에서는 이를 통해 다양한 객체가 동일한 메서드를 호출할 수 있게 하면서도 각기 다른 동작을 수행하도록 할 수 있다.
- 메서드 오버라이딩: 상속 관계에 있는 클래스들에서 같은 이름의 메서드가 상위 클래스와 하위 클래스에서 다르게 동작하도록 정의할 수 있다. 이를 통해 상위 클래스에서 정의된 메서드를 하위 클래스에서 재정의(override)하여, 객체가 다양한 형태로 동작할 수 있게 한다.

다형성을 통해 같은 인터페이스를 여러 방식으로 구현할 수 있어 더 유연하고 확장 가능한 코드를 작성할 수 있다.
다형성이 없다면 코드의 유연성과 재사용성이 크게 줄어들게 되어 다음과 같은 문제들이 발생 할 수 있다.
- 코드 중복 증가: 다형성이 없으면 각 데이터 타입이나 클래스마다 별도의 함수를 작성해야한다. 이로 인해 비슷한 기능을 하는 코드가 여러 번 작성되어 코드 중복이 발생할 수 있다.
- 확장성 저하: 다형성이 없으면 새로운 타입이나 클래스가 추가될 때마다 기존 코드의 구조를 변경하거나 새로운 함수를 추가해야한다. 이는 프로그램의 확장성을 저해하고, 새로운 기능을 추가할 때마다 기존 코드를 수정해야하는 부담이 생긴다.
✔️ 오늘 배운 내용중 다형성을 통해 지금까지 내가 만들었던 코드에 적용해보기