상속 (inheritance)
상속 (inheritance)
은 부모 클래스
의 프로퍼티
와 메서드
를 자식 클래스
에서 사용 할수 있게 해주는것이다.
여러가지 클래스에 공통적으로 들어가는 부분이 있으면 활용하기 좋다.
c#에서의 상속은 :
키워드를 통해서 상속 받을 수 있다.
namespace inheritance
{
// 부모 class
public class Sample1
{
public int data1 { get; set; }
public string data2 { get; set; }
public bool data3 { get; set; }
public void Hello()
{
Console.WriteLine("Hello ...");
}
public void Print(string _value)
{
Console.WriteLine($"Print .. {_value}");
}
}
// Sample2 클래스는 Sample1을 상속 받는다.
public class Sample2 : Sample1
{
public int data4 { get; set; }
public string data5 { get; set; }
public Sample1 data6 { get; set; }
public void Copy()
{
Console.WriteLine("Copied ...");
}
}
// Sample3 클래스는 Sample2를 상속 받는다.
public class Sample3 : Sample2
{
public string data7 { get; set; }
public decimal data8 { get; set; }
public void Paste()
{
Console.WriteLine("Pasted");
}
}
class Program
{
static void Main(string[] args)
{
var sample3 = new Sample3();
var sample2 = new Sample2();
// Sample3의 오브젝트에서 Sample1의 프로퍼티를 사용한다.
sample3.data2 = "Sample1 prop";
// 마찬가지로 Sample2의 메서드도 사용가능
sample3.Copy();
// 자식의 프로퍼티는 사용불가능
sample2.data7 = "error";
// 부모는 사용가능
sample2.Print("success");
}
}
}
'C# > Basic' 카테고리의 다른 글
File, FileInfo (0) | 2021.03.08 |
---|---|
제네릭 (Generic) 1 (0) | 2021.02.28 |
접근 제한자 (Access Modifier) (0) | 2021.02.14 |
this (0) | 2021.02.13 |
getters & setters (0) | 2021.02.07 |
댓글
이 글 공유하기
다른 글
-
File, FileInfo
File, FileInfo
2021.03.08 -
제네릭 (Generic) 1
제네릭 (Generic) 1
2021.02.28 -
접근 제한자 (Access Modifier)
접근 제한자 (Access Modifier)
2021.02.14 -
this
this
2021.02.13