All Honey Tip

[기술 면접] 2. Overloading과 Overriding의 차이가 무엇인가요?

수정 일:

발행 일:

Overloading, Overriding

저번 시간에 이어서, 이번 시간에는 Overloading과 Overriding의 차이에 대해 알아보겠습니다. 이름이 비슷해서 자주 헷갈릴 수 있는 개념입니다. 답변의 일부 내용은 필자의 의견이며 참고 후에 본인만의 답변을 구사해보길 권합니다.

image 59




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은 기존의 화살을 새롭게 만들어서 사용.
o o


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다