IT 기술/SW공학 & 프로젝트 관리

객체지향 다형성(Polymorphism)

gooooooood 2025. 3. 5. 09:01
반응형

Ⅰ. 상속되는 기능을 재정의하는 다형성의 개요

가. 다형성의 정의

- 상속되는 기능을 재정의하거나 하나의 인터페이스에 다양한 매소드를 정의하여 확장성, 유연성을 제공하는 객체지향 특징

나. 다형성의 특징 및 장점

구분 항목 내용
특징 동적 바인딩 프로그램이 실행되는 시점에 호출 함수 연결
확장성 지원 수직적 확장성 Overriding, 수평적 확장성 Overloading
재사용성 지원 기존 구현 함수 재사용 및 필요 부분 수정하여 활용
장점 확장성 기존 코드 수정하지 않고 새로운 기능 추가 용이
유연성 상속과 인터페이스를 활용하여 유연한 코드 설계 가능

 

Ⅱ. 다형성의 동작원리와 구현방법

가. 다형성 동작원리

- 하나의 인터페이스 draw(), erase() 함수명 사용
- 디자인패턴 prototype 이용하면 효과적 코딩 가능

 

나. 다형성 구현방법

구분 오버로딩 오버라이딩
개념 메소드의 이름은 같으나 인자의 타입 및 개수가 다른 경우, 동일 클래스의 동일 메소드로 매개변수 다르게 정의하는 기법 상속관계에 있는 두 클래스 중 하위클래스에서 상위클래스의 메소드를 재정의하여 사용하는 기법
예시
메소드 이름 같아야함 같아야함
파라미터 개수 달라야함 같아야함
리턴 타입 상관없음 같아야함
특징 상위 클래스에 같은 메소드 없어야함 상위 클래스에 메소드 있어야함
반응형