본문 바로가기

.NET

오버로딩과 오버라이딩

오버라이딩과 오버로딩은 과연 무엇인가 무엇때문에 필요한것인가
라고한다면 바로 객체지향 프로그래밍의 다형성을 위해 필요한 개념이라
할수있습니다. 다형성이란 폴리모피즘이라고도 부르며 많은형태라는
뜻을 가지고있습니다.

하위 등급이 상위 등급의 특성을 계승할 때, 그 구조나 방법을 변경하거나 부분적으로 추가하여 여러가지 많은

형태를 만들어내는것이
오버로딩과 오버라이딩의 역활입니다.
---------------------------------------------------------------------> 3. 필요성 설명
오버 라이딩이란

일단 사람이란 객체를 예를 들어 설명하겠습니다.
사람은 자신의 아버지로부터 태어났습니다. 그리고 자신의
아버지의 유전정보들을 상속받았습니다.둘다 동일한 기능을
가지고 있습니다.아버지는 "말한다"라는 기능을 가지고있고
아버지의 정보를 상속받은 자식도 "말한다"라는 기능을 물려받았습니다.

하지만 그렇다고 자식이 말하는것과 아버지가 말하는것과 완전히
같은 기능을 가지고있을가요. 아닙니다.
자식은 자신의 스타일의 말한다는 기능을 재정의한것이기때문입니다.
간단히 예를 들면 아버지가 안녕(낮은톤) 한다고 자식도 안녕(낮은톤)
으로 스타일이 같을까요? 아님니다 아들은 아들스타일대로 안녕(높은톤)
으로 말할것입니다. 이처럼 상속받은 기능이나 상태를 상속받은 객체의
스타일에 맞도록 재정의 하는것을 오버 라이딩이라고합니다


오버로딩이란
예를들어
 사람이라는 객체는 "움직인다","먹는다","본다"등등 여러가지 개념이있는데
그중에 먹는다라는 기능을 가지고 설명해보겠습니다.
이먹는다는 기능은 항상 일정할까요?
어떤경우에는 밥을 먹고 어떤경우에는 음료수를 먹고 또 약같은종류를
먹을수도있고 초콜릿같은 형태도 먹을수있습니다.

 이처럼 각각 입력 인자들이 다르고, 들어가는 양도 다르고, 그입력인자
들이 몸에 반응하게 하는 결과도 다릅니다.그런데 사람은 어떻게
이렇게 다양한 종류의 입력값들을 먹을수있을까요? 이는 사람의 먹는다
라는 기능이 이러한 다양한 인자값들에 다양하게 반응할수 있도록 정의되었기때문입니다.

'.NET' 카테고리의 다른 글

css 화면 클릭 => 새로운 레이어 띄우기  (2) 2007.08.18
1~100까지 소수 구하기  (0) 2007.08.17
오버로딩과 오버라이딩  (0) 2007.08.17
3X3 마방진  (1) 2007.08.14
Delegate  (0) 2007.08.14
윈폼 제작  (0) 2007.08.14