본문 바로가기
javaScript

다형성(polymorphism) 이란?

by mooyou 2024. 3. 8.
728x90
300x250

다형성은 객체 지향 프로그래밍에서 중요한 개념으로, 동일한 인터페이스를 통해 여러 다른 타입의 객체를 처리할 수 있는 능력을 나타낸다. 다형성이라는 용어는 그리스어 poly와 morph의 조합으로 다야한 형태라는 뜻을 가지고 있다.

다형성은 코드의 재사용성과 유연성을 향상시키는데 도움이 된다. 이를 통해 동일한 코드를 사용하여 다양한 객체를 처리할 수 있으므로 코드의 확장성이 향상된다.

다형성은 주로 두 가지 형태로 나타난다.

1. 객체 지향 다형성

- 서브클래스가 슈퍼클래스의 메서드를 재정의 하거나 오버로딩할 수 있는 상속을 기반으로 한다.

- 이를 통해 서브클래스는 슈퍼클래스의 메서드와 같은 이름의 메서드를 가질 수 있다. 이런 메서드는 호출 시에 실제 객체 타입에 따라 실행된다.

 

2. 매개변수 다형성

- 제네릭 프로그래밍이나 템플릿 프로그래밍과 같은 매개변수화된 타입을 사용하여 다양항 데이터 타입을 처리할 수 있는 능력을 나타낸다.

- 이를 통해 동일한 알고리즘을 다양한 데이터 타입에 적용할 수 있다.

 

다형성은 코드의 가독성을 향상시키고 유지보수를 더 쉽게 만들어준다. 또한 객체지향 설계 원칙 중 하나인 개반-폐쇄 원칙을 지원하여 코드의 확장성을 허용하고 수정 없이 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있도록 한다.

728x90
반응형

댓글