Function Overriding: 이미 정의된 부모 클래스의 member function을 다시 재정의
→ same ‘name’, ‘parameters’, ‘return type’
Function Overloading: 같은 이름을 가진 함수지만 parameter나 return type을 다르게 해서 여러 개의 함수를 정의
→ same ‘name’ // different ‘parameters’, ‘return type’
Polymorphism: 상속 위계에서 중복된 method 이름을 가지며, 해당 method가 적용되는 객체에 적합한 method를 적용하는 언어의 기능
→ overriding 이랑 overloading을 모두 포함함.