다형성(polymorphism)
- 하나의 코드가 여러 자료형으로 구현되어 실행되는 것
- 같은 코드에서 여러 다른 실행 결과가 나옴
- 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나임
- 다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음
다형성을 사용하는 이유?
- 다른 동물을 추가하는 경우
- 상속과 메서드 재정의를 활용하여 확장성 있는 프로그램을 만들 수 있음
- 그렇지 않는 경우 많은 if-else if문이 구현되고 코드의 유지보수가 어려워짐
- 상위 클래스에서는 공통적인 부분을 제공하고 하위 클래스에서는 각 클래스에 맞는 기능 구현
- 여러 클래스를 하나의 타입(상위 클래스)으로 핸들링 할 수 있음
'개념 창고 > JAVA' 카테고리의 다른 글
추상 클래스 (0) | 2022.06.28 |
---|---|
상속을 사용하는 때 (0) | 2022.06.27 |
가상 메서드 원리 (0) | 2022.06.27 |
overring(메서드 재정의) (0) | 2022.06.27 |
상속에서 클래스 생성 과정과 형 변환 (0) | 2022.06.27 |