[3단원]다형성이 지원되지 않는 언어

다형성이 지원되지 않는 언어의 문제점

  1. 함수 이름의 다양화 필요
    1. add(int, int)와 같은 함수가 있을 때, 정수와 부동소수점 수를 더하는 경우에는
    1. 새로운 함수명 addIntDouble(int, double)을 만들어야 합니다.
  1. 함수가 많아질 경우의 문제
    1. 예를 들어, 자바에서는 정수와 부동소수점 수로 42개 이상의 함수를 만들어야 다양한 조합을 처리할 수 있습니다.

다형성이 지원되는 언어의 장점

  1. 오버로딩의 편리성
    • 하나의 함수명을 가지고 인자 목록만 변경하여 다양한 경우를 처리할 수 있습니다.
  1. 제네릭의 활용
    • 하나의 함수로 여러 타입을 처리할 수 있습니다.
  1. 코드의 간결성
    • 같은 기능을 하는 함수가 하나면 코드가 깔끔해집니다.

오버라이딩의 중요성

  1. 하위 클래스 메서드의 자동 호출
    • 상위 클래스의 메서드를 하위 클래스에서 재정의하면, 이를 자동으로 호출해줍니다. 이로 인해 형변환을 하거나 하위 클래스를 직접 확인할 필요가 없습니다.
  1. 코드의 깔끔함
    • 하나의 상위 클래스 참조 변수를 통해 다양한 하위 클래스의 메서드를 호출할 수 있다.
    • 예시
      • 동물 클래스의 울어보세요() 메서드를 각 하위 클래스에서 재정의하면, 동물 배열을 순회하며 울어보세요()를 호출할 때 각 하위 클래스에 맞는 울음소리를 출력할 수 있습니다.


Uploaded by N2T