728x90
300x250
다형성은 객체 지향 프로그래밍에서 중요한 개념으로, 동일한 인터페이스를 통해 여러 다른 타입의 객체를 처리할 수 있는 능력을 나타낸다. 다형성이라는 용어는 그리스어 poly와 morph의 조합으로 다야한 형태라는 뜻을 가지고 있다.
다형성은 코드의 재사용성과 유연성을 향상시키는데 도움이 된다. 이를 통해 동일한 코드를 사용하여 다양한 객체를 처리할 수 있으므로 코드의 확장성이 향상된다.
다형성은 주로 두 가지 형태로 나타난다.
1. 객체 지향 다형성
- 서브클래스가 슈퍼클래스의 메서드를 재정의 하거나 오버로딩할 수 있는 상속을 기반으로 한다.
- 이를 통해 서브클래스는 슈퍼클래스의 메서드와 같은 이름의 메서드를 가질 수 있다. 이런 메서드는 호출 시에 실제 객체 타입에 따라 실행된다.
2. 매개변수 다형성
- 제네릭 프로그래밍이나 템플릿 프로그래밍과 같은 매개변수화된 타입을 사용하여 다양항 데이터 타입을 처리할 수 있는 능력을 나타낸다.
- 이를 통해 동일한 알고리즘을 다양한 데이터 타입에 적용할 수 있다.
다형성은 코드의 가독성을 향상시키고 유지보수를 더 쉽게 만들어준다. 또한 객체지향 설계 원칙 중 하나인 개반-폐쇄 원칙을 지원하여 코드의 확장성을 허용하고 수정 없이 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있도록 한다.
728x90
반응형
'javaScript' 카테고리의 다른 글
모듈 패턴(Module Pattern) (0) | 2024.03.14 |
---|---|
if(typeof $() - 비공개 (0) | 2024.03.12 |
카드형 체크박스 (0) | 2024.03.03 |
리스코프 치환 원칙(Liskov Substitution Principle) (0) | 2024.03.02 |
이벤트 위임과 바인딩 방식의 차이 $(document).on('click', id, function) / $(id).click(function() { }); (0) | 2024.02.18 |
댓글