문제 차이로 개념을 가르는 결
둘은 이름이 비슷하지만 푸는 문제가 다르다고 이해하고 있습니다. 오버로딩은 같은 이름으로 여러 입력 형태를 받고 싶을 때 쓰는 쪽이고, 오버라이딩은 물려받은 동작을 그 상황에 맞게 바꿔야 할 때 쓰는 쪽입니다. 학부 과제에서 도형 클래스를 만들 때, 넓이를 구하는 메서드를 도형마다 다르게 동작하게 한 자리가 오버라이딩이었고, 같은 출력 함수를 정수·실수·문자열로 각각 받게 한 자리가 오버로딩이었습니다. 그때 헷갈렸던 건 둘 다 같은 이름을 쓴다는 점이었는데, 어느 것이 불릴지 정해지는 시점이 다르다는 걸 알고 나서 구분이 또렷해졌습니다. 지금은 상속 관계에서 동작을 바꾸려는가, 입력 형태만 늘리려는가를 먼저 묻고 둘을 가릅니다.