다형성
다형성은 객체 지향 프로그래밍에서 중요한 개념으로, 같은 이름의 메서드나 함수가 다양한 방식으로 동작할 수 있는 능력을 의미합니다. 이는 코드의 재사용성을 높이고, 프로그램의 유연성을 증가시킵니다. 예를 들어, 클래스가 서로 다른 객체를 생성할 때, 같은 메서드를 호출하더라도 각 객체의 특성에 따라 다른 결과를 반환할 수 있습니다.
다형성은 주로 두 가지 형태로 나타납니다. 첫 번째는 오버로딩으로, 같은 이름의 메서드가 매개변수의 수나 타입에 따라 다르게 정의되는 것입니다. 두 번째는 오버라이딩으로, 상속받은 메서드를 자식 클래스에서 재정의하여 사용하는 방식입니다. 이러한 다형성 덕분에 프로그래