다형성이 지원되지 않는 언어의 문제점
- 함수 이름의 다양화 필요
add(int, int)
와 같은 함수가 있을 때, 정수와 부동소수점 수를 더하는 경우에는
- 새로운 함수명
addIntDouble(int, double)
을 만들어야 합니다.
- 함수가 많아질 경우의 문제
- 예를 들어, 자바에서는 정수와 부동소수점 수로 42개 이상의 함수를 만들어야 다양한 조합을 처리할 수 있습니다.
다형성이 지원되는 언어의 장점
- 오버로딩의 편리성
- 하나의 함수명을 가지고 인자 목록만 변경하여 다양한 경우를 처리할 수 있습니다.
- 제네릭의 활용
- 하나의 함수로 여러 타입을 처리할 수 있습니다.
- 코드의 간결성
- 같은 기능을 하는 함수가 하나면 코드가 깔끔해집니다.
오버라이딩의 중요성
- 하위 클래스 메서드의 자동 호출
- 상위 클래스의 메서드를 하위 클래스에서 재정의하면, 이를 자동으로 호출해줍니다. 이로 인해 형변환을 하거나 하위 클래스를 직접 확인할 필요가 없습니다.
- 코드의 깔끔함
- 하나의 상위 클래스 참조 변수를 통해 다양한 하위 클래스의 메서드를 호출할 수 있다.
- 예시
동물
클래스의울어보세요()
메서드를 각 하위 클래스에서 재정의하면,동물
배열을 순회하며울어보세요()
를 호출할 때 각 하위 클래스에 맞는 울음소리를 출력할 수 있습니다.
Uploaded by N2T
'자바 > 스프링입문객체지향' 카테고리의 다른 글
[3단원]참조 변수의 복사 (0) | 2023.08.27 |
---|---|
[4단원]자바가 확장한 객체지향 초읽기 - Abstract 키워드 - 추상메서드와 추상 클래스 (0) | 2023.08.27 |
[3단원]캡슐화: 정보 은닉 (0) | 2023.08.26 |
[기타]VO 와 DTO 와 ENTITY 차이 (0) | 2023.08.26 |
[3단원]다중 상속과 자바 (0) | 2023.08.25 |