오버로딩과 오버라이딩의 차이점을 설명해주세요.
오버로딩과 오버라이딩은 객체 지향 프로그래밍의 개념 중 하나인 다형성을 위한 방식으로 같은 이름의 메소드를 다시 정의하는 것이지만, 개념이 다릅니다. 오버로딩은 같은 이름의 메소드를 정의할 때 매개변수의 갯수와 유형을 다르게 하여 여러개의 메소드를 만들어 확장하는 개념이고, 오버라이딩은 상속 시에 나오는 개념으로 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의해서 사용하는 개념입니다.