본문 바로가기
JAVA

매소드 확장 오버로딩 vs 매소드 재정의 오버라이딩

by helloissue 2021. 10. 8.

프로그램을 공부하면서 예전에 가장 헷갈렸던 용어에 대해 말씀드리려 합니다. 그것은 오버 로딩과 오버 라이딩입니다. 두 용어 모두 오버가 들어가 있어서 오버까지는 기억이 나는데, 두 용어의 특별한 차이점을 기억하지 못하면 기억이 가물가물해져서 결국 기억에서 멀어져 갑니다. 그 당시에 기억에 남기기 위해 이것저것 시도하다가 마지막으로 남게 된 기역 방법에 대해 소개합니다.

오버로딩과오버라이딩은다르다
오버로딩과오버라이딩은다르다

1. ( Overloading ) 오버 로딩 = 확장 


여러 개의 매소드를 loading 하여 읽어드린다. 그래서 확장을 한다. 함수의 이름은 그대로 유지한 채, 함수의 인자의 개수 또는 함수의 인자의 형태를 달리하여 함수의 기능과 이름은 그대로 유지하게 하는 , 다형성에 도움의 주는 기능이다.
결혼( 사람, 사람)이라는 함수가 있었으나, 사람과 사람의 관계가 아닌 로봇과 결혼을 하는 시대가 생겨서 함수를 확장하여야 한다면 로봇 결혼식()이라는 다른 이름의 함수가 아닌 결혼( 사람, 로봇)의 형태로 이름은 그대로 하여 함수의 기능과 이름을 일치하여 확장을 할 수 있는 것이다.

  • 결혼(사람, 사람)
  • 결혼(사람, 로봇)

오버로딩이란 -함수 이름은 같으면서 들어가는 인자가 다른 경우를 말합니다. 장점으로는 다른 이름으로 여기저기 퍼 저나 가는 문어발 같은 함수들로부터 해방될 수 있습니다.

 

2. ( Overriding ) 오버 라이딩 = 재정의

 

writing 쓰기의 뜻 그대로  월래 있던 기능을 덮어쓴다. 이는 클래스 상속을 한 뒤 , 월래 있던 그 기능이 마음에 들지 않아 매소드명은 그대로 유지한 채 그 기능을 대대적으로 뜯어고치는 것이다.

 

마치면서. 도움이 되셨다면 하트를 부탁드립니다. 지속적인 포스팅에 도움이 됩니다.

 

 

댓글