객체지향 프로그래밍(OOP)에서 자주 등장하는 개념 중 하나가 오버로딩과 오버라이딩이다.두 개념은 이름이 비슷해서 헷갈리기 쉬운데 개념적으로 큰 차이가 있다. 이번에는 오버로딩과 오버라이딩의 차이를 명확하게 이해하는 시간을 가져보도록 하겠다. 오버로딩(Overloading)이란?오버로딩은 같은 이름의 메서드를 여러 개 정의할 수 있도록 하는 기능이다.단, 매개변수의 개수 또는 타입이 달라야한다. 즉, 같은 이름을 가진 메서드라도 전달하는 인자가 다르면 서로 다른 메서드로 취급된다는 소리이다. 오버로딩의 특징같은 클래스 내에서 메서드 이름을 동일하게 정의할 수 있다.매개변수의 개수, 타입, 순서가 다를 경우 허용된다.반환 타입은 오버로딩과 관계가 없다. class MathUtils { // 두 개의 ..