- 개요
- 하나의 객체가 여러 타입을 가질 수 있는 것을 의미한다.
- 목적
- 사용자의 편의성을 보장하자.
- 유지보수를 편하게 하자.
- 객체 지향 설계로 만든 코드의 경우, 상위 클래스 타입을 공유하는 하위 클래스 객체를 교환하는 것으로, 코드 수정량을 줄일 수 있다.
- 수단
- Upcasting
- 상위 클래스 타입을 가지는 하위 클래스 객체를 생성하는 것이다.
- Overriding
- 상위 클래스의 메서드와 동일한 시그니처를 하위 클래스에서 재정의 하는 것이다.
- 상위 클래스의 자료형을 가지는 하위 클래스 객체의 메서드를 실행하면, 동적으로 상위 클래스가 아닌 하위 클래스에서 재정의된 메서드를 실행한다.
- Overloading
- 메서드의 이름은 같되, 매개변수만 바꾸어 여러 메서드로 정의한 것이다.
- 매개 변수의 타입, 순서, 갯수만 바꾸어도 같은 이름의 함수의 호출로, 서로 다른 함수를 호출할 수 있다.
반응형
'■ 객체지향설계・개발 > 객체지향 개요' 카테고리의 다른 글
객체지향 4대 특성 - 추상화 (0) | 2021.04.19 |
---|---|
객체지향 4대 특성 - 상속 (0) | 2021.04.19 |
객체지향 4대 특성 - 캡슐화 (0) | 2021.04.19 |