Over-loading, Over-riding |
I. 동일한 이름의 메소드를 테일러링 하는 개념, 다형성의 개요
가. 다형성 (Polymorphism)의 정의
- 여러가지 형태를 받아들일 수 있는 특징으로 동일한 이름의 메소드를 다른 객체 또는 서브클래스에 호출할 수 있는 특징
나. 다형성의 특징
- 동적바인딩, 확장성 지원, 재사용성 지원
다. 다형성의 종류
오버로딩 (Over-loading) |
클래스 내에서 동일 명의 메소드를 매개변수나 타입을 변경하여 재정의 |
오버라이딩 (Over-riding) |
하위 클래스에서 상위 클래스에서 상속받은 메소드의 내용을 재정의 |
II. 오버로딩, 오버라이딩의 개념도 및 비교
가. 오버로딩, 오버라이딩의 개념도
- 동일한 인터페이스를 갖는 객체들이 그 동작은 완전히 다를 수 있게 하여, 동적바인딩을 지원하는 객체지향 기본 원칙
나. 오버로딩, 오버라이딩의 비교
구분 |
Over-loading |
Over-riding |
개념 |
하나의 클래스내에서 비슷한 일을 하는 메소드를 같은 이름의 메소드로 여러개 정의하여 사용 |
상속 관계에 있는 두 클래스 중 하위클래스에서 상위클래스의 메소드를 재정의하여 사용 |
클래스다이어그램 |
||
목적 |
사용편의성 향상 |
재정의/변경 |
Method 명 |
동일 |
동일 |
Parameter 개수 및 타입 |
무관하나 개수가 동일할 경우 타입이 달라야함 |
동일 |
Return타입 |
무관 |
동일 |
주석 (Java기준) |
미사용 |
@Overriding |
확장성 |
수평적 확장성 |
수직적 확장성 |
구현사례 |
|
|
구현사례 설명 |
- 동일한 메소드 이름으로 다양한 매개변수를 사용하여 정의 - 동일한 의미의 메소드에 서로 다른 파라미터 개수, 파라미터 자료형을 제공, 여러 목적으로 사용 |
- Point 클래스를 상속받아 Child에서 필요에 따라 재 정의 하여 다형성 제공 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
액티비티 다이어그램 (Activity Diagram) (0) | 2021.01.31 |
---|---|
클래스 다이어그램 (Class Diagram) (0) | 2021.01.31 |
UML 2.0 (0) | 2021.01.31 |
UML(Unified Modeling Language) (0) | 2021.01.31 |
객체지향 (Object-Oriented) (0) | 2021.01.31 |
객체지향 설계원칙 (0) | 2021.01.31 |
모듈화 (Modularity) (0) | 2021.01.31 |
소프트웨어 설계 (Software Design) (0) | 2021.01.31 |
댓글