반응형
Ⅰ. 상속되는 기능을 재정의하는 다형성의 개요
가. 다형성의 정의
- 상속되는 기능을 재정의하거나 하나의 인터페이스에 다양한 매소드를 정의하여 확장성, 유연성을 제공하는 객체지향 특징
나. 다형성의 특징 및 장점
구분 | 항목 | 내용 | |
특징 | 동적 바인딩 | 프로그램이 실행되는 시점에 호출 함수 연결 | |
확장성 지원 | 수직적 확장성 Overriding, 수평적 확장성 Overloading | ||
재사용성 지원 | 기존 구현 함수 재사용 및 필요 부분 수정하여 활용 | ||
장점 | 확장성 | 기존 코드 수정하지 않고 새로운 기능 추가 용이 | |
유연성 | 상속과 인터페이스를 활용하여 유연한 코드 설계 가능 |
Ⅱ. 다형성의 동작원리와 구현방법
가. 다형성 동작원리
![]() |
- 하나의 인터페이스 draw(), erase() 함수명 사용 - 디자인패턴 prototype 이용하면 효과적 코딩 가능 |
나. 다형성 구현방법
구분 | 오버로딩 | 오버라이딩 |
개념 | 메소드의 이름은 같으나 인자의 타입 및 개수가 다른 경우, 동일 클래스의 동일 메소드로 매개변수 다르게 정의하는 기법 | 상속관계에 있는 두 클래스 중 하위클래스에서 상위클래스의 메소드를 재정의하여 사용하는 기법 |
예시 | ![]() |
![]() |
메소드 이름 | 같아야함 | 같아야함 |
파라미터 개수 | 달라야함 | 같아야함 |
리턴 타입 | 상관없음 | 같아야함 |
특징 | 상위 클래스에 같은 메소드 없어야함 | 상위 클래스에 메소드 있어야함 |
반응형
'IT 기술 > SW공학 & 프로젝트 관리' 카테고리의 다른 글
소프트웨어 결합도(Coupling) (0) | 2025.03.05 |
---|---|
소프트웨어 아키텍처 스타일 (0) | 2025.03.05 |
플랫폼 엔지니어링 (0) | 2025.03.05 |
CBAM(Cost Benefit Analysis Method) (0) | 2025.03.04 |
소프트웨어 아키텍처 분석 방법론 (0) | 2025.03.04 |