upcasting (업캐스팅)
upcasting
이란 자식클래스의 형식에서 부모클래스의 형식으로 casting
바뀌는것을 말한다.
즉 하나의 매개변수형 (상위)로 상속 받은 자식클래스의 매개변수형을 받아 오는것이다.
using System;
namespace casting_1
{
public class Sample
{
}
public class Sample1 : Sample
{
}
public class Sample2 : Sample
{
}
public class Sample3 : Sample
{
}
public class SamplePrint
{
/*
자식클래스가 추가될때마다 매서드를 오버로딩 시켜주어야함
public void Print(Sample1 sample)
{
Console.WriteLine("Print " + sample);
}
public void Print(Sample2 sample)
{
Console.WriteLine("Print " + sample);
}
public void Print(Sample3 sample)
{
Console.WriteLine("Print " + sample);
}
*/
// 부모클래스인 Sample로 자식클래스들을 받아줄수 있음
public void Print(Sample sample)
{
Console.WriteLine("Print " + sample);
}
}
class Program
{
static void Main(string[] args)
{
var sample1 = new Sample1();
var sample2 = new Sample2();
var sample3 = new Sample3();
var sp = new SamplePrint();
sp.Print(sample1);
sp.Print(sample2);
sp.Print(sample3);
}
}
}
'C# > Basic' 카테고리의 다른 글
Guid.NewGuid (유니크 아이디 생성) (0) | 2021.03.15 |
---|---|
abstract (추상화) (0) | 2021.03.14 |
override (오버라이드) (0) | 2021.03.13 |
TimeSpan (시간) (0) | 2021.03.12 |
DateTime (날짜 / 시간) (0) | 2021.03.11 |
댓글
이 글 공유하기
다른 글
-
Guid.NewGuid (유니크 아이디 생성)
Guid.NewGuid (유니크 아이디 생성)
2021.03.15 -
abstract (추상화)
abstract (추상화)
2021.03.14 -
override (오버라이드)
override (오버라이드)
2021.03.13 -
TimeSpan (시간)
TimeSpan (시간)
2021.03.12