오버로딩 (Overloading) 같은 이름의 메서드가 다른 매개변수를 가질 수 있음을 의미한다. 특징: 매개변수의 수, 타입, 혹은 둘 다가 달라야 한다. 반환 타입은 오버로딩을 구별하는 기준이 아니다. 사용 이유: 코드의 중복을 줄이고, 프로그래머가 메서드 이름을 일일이 다르게 지정하지 않도록 하여 가독성을 높인다. 다형성을 구현하며 코드의 유연성을 높인다. 오버라이딩 (Overriding) 부모 클래스에서 상속받은 메서드를 자식 클래스에서 재정의하는 것을 의미한다. 특징: 메서드 시그니처 (이름, 매개변수 타입 및 개수)가 반드시 같아야 한다. 반환 타입은 같거나 하위 타입이어야 한다. 접근 제어자는 부모 클래스의 것과 같거나 더 넓은 범위로 설정해야 한다. 사용 이유: 부모 클래스의 기능을 확장하..