![[기술 면접] 2. Overloading과 Overriding의 차이가 무엇인가요? 1 Overloading, Overriding](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/07/%EC%A0%9C%EB%AA%A9%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94__%EB%B3%B5%EC%82%AC%EB%B3%B8-11-001-2-optimized.png?resize=300%2C300&ssl=1)
저번 시간에 이어서, 이번 시간에는 Overloading과 Overriding의 차이에 대해 알아보겠습니다. 이름이 비슷해서 자주 헷갈릴 수 있는 개념입니다. 답변의 일부 내용은 필자의 의견이며 참고 후에 본인만의 답변을 구사해보길 권합니다.
![[기술 면접] 2. Overloading과 Overriding의 차이가 무엇인가요? 2 image 59](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/07/image-59-optimized.png?resize=1024%2C512&ssl=1)
Q: Overloading과 Overriding의 차이가 무엇인가요?
오버로딩은 한 클래스 안에 같은 이름의 메서드를 여러개 정의하는 것이며, 오버라이딩은 상속받은 조상의 메서드를 자신에 맞게 변형하여 사용하는 것입니다.
Q: 사용 예시를 들어보실래요?
Overloading의 경우, Calculator라는 Class의 add라는 메서드가 여러개 선언되어 있다고 가정합니다. 여기서 add 메서드에 매개변수의 개수, 자료형을 다르게 넣어 사용하면 매개변수의 개수, 자료형에 따라서 이름은 같지만 다른 메서드가 실행된다고 할 수 있습니다.
Overriding은 Animal이라는 Class의 bark라는 메서드가 있다고 가정할 때, 다양한 동물 이름들로 이루어진 객체들이 bark 메서드를 재정의하여 각자의 울음소리를 낼 수 있습니다.
마치며
이번 시간엔 Java의 Overloading과 Overriding에 대해 알아보았습니다. 어려운 개념은 아니지만, 자주 헷갈릴 수 있는 부분이라고 생각합니다. Overloading은 Overload(과적하다)로 같은 이름이 여러 개 있다고 생각하시면 되고, Overriding은 Override(덮어쓰다, 무효로 하다)로 기존에 존재하던 것을 Customizing 한다고 생각하시면 좀 더 수월하게 암기할 수 있을 것으로 생각됩니다.
마지막으로 아래 그림을 통해 가볍게 Remind 해보기로 하고, 다음 시간엔 상속과 조합에 대해 알아보겠습니다.
- Overloading은 똑같아 보이는 화살을 여러 개 사용.
- Overriding은 기존의 화살을 새롭게 만들어서 사용.
![[기술 면접] 2. Overloading과 Overriding의 차이가 무엇인가요? 3 o o](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/07/image-58-optimized.png?resize=813%2C451&ssl=1)
답글 남기기