티스토리 뷰

반응형
오버로드는
기존에 정의 되어 있던걸 새롭게 정의하는거야
간단하게 말하면
+ 가 덧셈이자나
그걸 오버로드 시켜서
나는 * 부호로 쓰겠다 하는게 오버로드
오버라이드는
+ 라는 기호가 있다 라고 정의만 해놓고
A에서는 덧셈으로 쓸수있게 정의하고 B에서는 *으로 쓸수 있게 C에서는 / 으로 쓸수 있게 하는 방법이야
차이점은 초기에 정의를 하느냐 마느냐 차이

소스 코드로 설명하자면
오버로드는 함수 정의 할때
 
AAA() --> 1
AAA(string a) ->2
AAA(string a, string b) -> 3
AAA(string a, int b, double c) -> 4

이런식으로 같은 함수명인데
하는 역할은 다르게 하는거고
오버라이드는

AAA(); -> 정의

상속
A class
AAA(){
    123;
};
B class 
AAA(){
    456;
}
 
이런식으로
같은 함수에 같은 매게변수 받는 함수를 
클래스마다 하는 역할을 새롭게 정의해서 쓸수 있도록 하는 방법이야
요것들을 하는 이유는
프로그램이 실행할때 메모리를 좀더 적게 차지하게 하려고 하는게 공통된 목적이고
객체지향 프로그램에서
여러 함수가 함수명이 같으면 시스템에서 메모리영역을 1개만 잡기때문에
적은수의 메모리 영역을 차지하지만 역할은 여러개 할수 있도록 하는거지



PS1 : 친구한테 이해하기 쉽게 설명한 내용이므로 전문가가 보기에는 갸우뚱 할수 있는 부분도 있을수 있음
의문은 뎃글로.... 
PS2 : 친구에게 정의 확립을 위해 인터넷 서칭중 찾은 블로그 -> http://blog.naver.com/tjddms1117?Redirect=Log&logNo=20094900850 
반응형

'Programming > .Net' 카테고리의 다른 글

AutoShutDown V0.5  (0) 2013.01.03
암호화(MD5, SHA256, SHA512, SHA384)  (0) 2012.09.11
C# 확장 메서드  (0) 2011.09.21
C# AS의 역할  (0) 2011.09.21
AutoComment V.01  (0) 2011.09.06
공지사항