솔직히 오버 로딩은 크게 필요한 이유가 없을거라 생각됩니다 어디까지나 코당하는 사람의 편의 성을 위한것이 니까요..
예를 들자면 sum이라는 여러개의 숫자를 더하는 메소드가 있다고 하면..
오버로딩 개념이 없다면...
sum1(a,b) sum2(a,b,c)...
이런식이 될텐데
오버로딩으로 인해
sum(a,b) sum(a,b,c)등으로 일관성을 유지 할수 있기에 코딩하는사람이나 분석하는 사람이 보기가 편하게 되죠..
생성자를 통한 다양성으로 많은 변화가 가능하니까요.

단 오버로딩은 생성자 개념에서는 아주 중요 합니다.
클레스를 생성할때 한개의 클레스를 여러 형태로 변화 시켜 만들수있으니까요
필요없다고는 했지만 정말 중요한 개념입니다.^^ㅋ

오버라이딩은 아주 중요한개념이데요...
오버라이딩을 통해 업케스팅도 가능하게 되는거 니까요..
간단히 설명하자면...
이미짜여진 클레스의 메소드들을 파츠형식의 관리라고 생각하시면 될겁니다.
예를 들어 총을 생각해보면요...
일반 총이 있었다고 생각 해보세요 (상위클레스)
한데 사용자가 다른 부분은 남겨두고 총앞부분을 소음기 를 달았다면..(하위클레스를 통한 오버라이딩)
일반 총이 소음총이라고 하나요?? 총을 쏠때 소리가 안나겠죠..
또 요번엔 총의 조준 하는부분을 망원경으로 바꿨다면..저격총이 될수 있는겁니다

이런개념이 오버라이딩에 가장좋은점인 것 같습니다.
한번 완성된 클레스를 재구현(오버라이딩)함으로서..
많은 변화를 줄수 있고, 한번 잘만들어진 클레스를 조금씩 바꾸어가며 마음대로 사용 할수 있겠죠..
자바의 특징이라는 다양성과 재사용성의 증가는 오버라이딩 덕인거 같습니다.

원문: 이곳

+ Recent posts