Overriding vs Overloading 둘 다 다형성을 높여주는 개념이고 비슷한 이름이지만, 전혀 다른 개념이라고 봐도 무방할 만큼 차이가 있다. (오버로딩은 다른 시그니쳐를 만든다는 관점에서 다형성으로 보지 않는 의견도 있다.) 공통점으로는 같은 이름의 다른 함수를 호출한다는 것이다. 오버라이딩 상위클래스 혹은 인터페이스에 존재하는 메소드를 하위 클래스에서 필요에 맞게 재정의하는 것을 의미한다. 자바의 경우는 오버라이딩 시 동적바인딩(Dynamic Binding)된다. ex) 아래와 같은경우 SuperClass의 fun이라는 인터페이스를 통해 SubClass의 fun이 실행된다. SuperClass object = new SubClass(); object.fun(); 오버로딩 메소드 이름과 re..