코드로 본 다형성의 의미

겉보기에는 같은 형

부모 클래스 변수에 자식 개체를 대입할 수 있음
- 상속 (is-a 관계)
- 반대로 자식 클래스 변수에 부모 개체 대입은 컴파일 에러
- 당연히 상속 관계가 아닌 형제(?)관계 등은 대입하면 컴파일 에러

다형성의 선수 조건은 상속
- 부모 자료형 변수에 대입
- 함수의 부모 자료형 매개변수에 대입
개체들에 내리는 동일한 명령

부모 클래스에 메서드 시그니처를 명시해야 함
- 그렇지 않으면 부모 클래스 변수에 메서드가 없어서 컴파일 오류 발생

오버라이딩
- 자식 클래스에서 부모 클래스의 동일한 시그니처를 가진 메서드의 내용을 변경(덮어씀)
오버라이딩은 선택사항

오버라이딩은 선택 사항임
- 상속에서 부모 동작 그대로 사용해도 괜찮음
복습 퀴즈

1)

int 형을 매개변수로 받는 print는 오버라이딩
2)

double 형을 받는 변수는 부모의 함수를 그대로 사용
- 오버라이딩은 선택사항