[javascript] 다형성과 다중 상속의 차이점

다형성은 하나의 인터페이스나 추상 클래스를 통해 여러 클래스를 이용할 수 있는 기능을 말합니다. 이를 통해 다양한 객체들이 동일한 방법으로 다뤄질 수 있어 코드의 유연성과 재사용성을 높일 수 있습니다.

반면에 다중 상속은 클래스가 둘 이상의 클래스로부터 상속받는 것을 말합니다. 이를 통해 여러 부모 클래스로부터 속성과 행위를 상속받을 수 있지만, 다중 상속은 복잡성과 모호성을 야기할 수 있습니다.

여러 부모 클래스로부터 상속받은 메서드나 속성이 충돌할 수 있는 문제를 ‘다이아몬드 문제’라고 부르며, 이를 해결하기 위해 다양한 언어에서는 다중 상속을 지원하지 않거나 인터페이스를 통한 다중 상속을 지원합니다.

따라서, 다형성은 객체들의 다양성을 지원하고 코드의 유연성을 높이는 데 중점을 두는 반면, 다중 상속은 여러 부모 클래스로부터의 상속을 통해 속성과 행위를 확장하는 데 중점을 둔다고 할 수 있습니다.