업캐스팅
부모 클래스 객체를 자식 클래스 객체로 변환. 인스턴스화 또는 자식 클래스 객체 할당하는 방법이 존재.
다운캐스팅
자식 클래스 객체를 부모 클래스로 객체로 변환. 오직 부모 클래스 객체로부터 할당만 가능.
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
public class Parent
{
public virtual void Print()
{
Console.WriteLine("Parent 클래스");
}
}
public class Child : Parent
{
public override void Print()
{
Console.WriteLine("Child 클래스");
}
}
public class Test
{
public static void Main()
{
Parent parent = new Parent();
Child child = new Child();
// 업 캐스팅 방법 1
Parent parent2 = new Child();
parent2.Print();
Console.WriteLine();
// 업 캐스팅 방법 2
parent.Print();
parent = child;
parent.Print();
Console.WriteLine();
// 다운 캐스팅 방법
child.Print();
child = parent as Child;
child.Print();
}
}
'프로그래밍 언어 > C#' 카테고리의 다른 글
C# 힙 구조 (Heap) (0) | 2022.07.26 |
---|---|
C# 구조체 (struct) 클래스 (class) 차이 (0) | 2022.07.26 |
C# 읽기 전용 (readonly) (0) | 2022.07.21 |
C# 클래스 상속 불가 및 함수 오버라이딩 불가 (sealed) (0) | 2022.07.21 |
C# 중첩 클래스 (Nested Class) (0) | 2022.07.20 |