이름이 너무 비슷해서 헷갈리기 쉬운부분이다. 하지만 서로 완전히 다른 기술이다. 쉽게말해, 오버로딩 = 기존에 없던 새로운 메소드를 만드는것(이름만 같고 아예 다른 메소드) 오버라이딩 = 상속받고 있는 메소드를 자손클래스에서 메소드 내용을 변경하는것. class Car{ void carMethod(){} } class superCar extends Car{ void carMethod(){}//조상의 메소드를 오버라이딩 void carMethod(int i){}//같은 클래스의 carMethod()를 오버로딩 void superCarMethod(){} void superCarMethod(int i){} //superCarMethod()를 오버로딩 } 이처럼 오버로딩은 메소드 이름은 같지만, 매개변수를 추가..