Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- map
- 자료구조
- 해쉬맵
- 멀티쓰레드
- 객체지향
- MonoBehaviour
- c#
- 반복문
- 큐
- 리스트
- 인프런
- vector
- 트리
- static_cast
- 차이점
- 스택
- 벡터
- 공부
- list
- 알고리즘
- 프래그멘테이션
- rookiss
- 스택영역
- std::map
- 기술면접
- 배열
- thread
- Queue
- 힙영역
- std::unordered_map
Archives
- Today
- Total
호빵의 IT 개발소
오버로딩, 오버라이딩 본문
오버로딩(Overloading)
- 하나의 클래스 안에 같은 이름으로 메서드를 재정의
- 이름은 같게 하고 매개변수의 개수 및 타입정보는 다르게 한다.
- 오버로딩은 유사하거나 동일한 결과를 출력하는 메서드가 전달 받는 매개변수에 따라 ㅂ다른 연산을 해야 하는 경우에 사용
- 메서드마다 다른 이름을 정의 하는 것보다는 직관적이고 편리
public int Test(int a, int b)
{
return a + b;
}
public int Test(int a)
{
return a;
}
public int Test()
{
return;
}
오버라이딩(Overriding)
- 오버라이딩은 상위 클래스에서 선언된 함수를 하위 클래스에서 재정의하는 것(이미 정의된 메서드를 재 사용 하는 것)
- 부모클래스의 메서드는 virtual 키워드를 자식 클래스의 메서드는 override를 꼭 선언한다.
- 다형성을 잘 나타내는 기법
class Animal
{
public virtual void Sound()
{
Console.WriteLine("동물 울음 소리");
}
}
class Pig : Animal
{
public override void Sound()
{
base.Sound();
Console.WriteLine("꿀꿀");
}
}
class Tiger : Animal
{
public override void Sound()
{
base.Sound();
Console.WriteLine("어흥");
}
}
출력
| 동물 울음 소리 꿀꿀 동물 울음 소리 어흥 |
출처 및 참조 :
'CS(전공지식) > 프로그래밍언어' 카테고리의 다른 글
| 재귀 호출의 장단점 (0) | 2022.07.18 |
|---|---|
| [C/C #] ref, out 키워드 (0) | 2022.07.17 |
| [C] C프로그램(소스 파일, 목적 파일, 실행 파일) (0) | 2022.06.26 |
| [C] 포인터 (0) | 2022.06.24 |
| [C/C#] 업캐스팅, 다운캐스팅 (0) | 2022.06.23 |
Comments