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
- static_cast
- rookiss
- 스택
- 인프런
- 멀티쓰레드
- 벡터
- MonoBehaviour
- 공부
- 큐
- 배열
- thread
- std::map
- 프래그멘테이션
- std::unordered_map
- Queue
- 자료구조
- 해쉬맵
- vector
- 반복문
- 힙영역
- 차이점
- 리스트
- list
- 기술면접
- map
- 알고리즘
- c#
- 트리
- 객체지향
- 스택영역
Archives
- Today
- Total
호빵의 IT 개발소
[C/C#] 상속, 다형성 본문
상속
- 상위 클래스의 동작을 재사용, 확장 또는 수정하는 하위 클래스를 정의하는 행위
- 멤버가 상속되는 클래스를 기본 클래스라고 합니다.
- 기본 클래스의 멤버를 상속하는 클래스를 파생 클래스라고 합니다.
public class Animal
{
public Move()
{
// 움직임
}
public Damage()
{
// 데미지
}
public Dead()
{
// 죽음
}
}
public class WeakAnimal : Animal
{
public override void Damage()
{
// 공격 받으면 도망
base.Damage();
}
public override void Move()
{
// 추가적인 Move 관련 기능 추가
base.Move();
}
}
다형성
- 프로그램 언어의 각 요소들(변수, 상수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질
- 하나의 타입에 여러 객체를 대입할 수 있는 성질
부모 클래스인 Animal 에서 Action 메서드를 파생 클래스 Pig, Triger, Deer 클래스에서 Action 메서드 받아 override를 이용하여 Action 메서드를 재정의 해주고, 그 안에서 각자 행동을 구현하여 출력
public class Animal
{
public virtual void Action()
{
// 동물의 행동
}
}
public class Pig : Animal
{
public override void Action()
{
// 사료 먹기
base.Action();
}
}
public class Tiger : Animal
{
public override void Action()
{
// 잠자기
base.Action();
}
}
public class Deer : Animal
{
public override void Action()
{
// 풀 뜯기
base.Action();
}
}
참조 및 출처 : https://yogingang.tistory.com/23
'CS(전공지식) > 프로그래밍언어' 카테고리의 다른 글
| [C/C#] 지역 변수, 전역 변수 (0) | 2022.06.20 |
|---|---|
| [C/C#] 객체 지향 언어, 절차 지향 언어 (0) | 2022.06.20 |
| [C/C#] namespace, partial (0) | 2022.06.20 |
| [C/C#] 구조체와 클래스 (0) | 2022.06.19 |
| [C/C#] 추상, 가상함수 (0) | 2022.06.19 |
Comments