S_pot
C#_ 추상클래스: 일반호출, 배열을 통한 호출, List를 통한 호출 본문
namespace _210603_010
{
abstract class Musician
{
public abstract void greet();
}
class Singer : Musician
{
public override void greet()
{
Console.WriteLine("안녕하세요 저는 싱어입니다.");
}
}
class Drum : Musician
{
public override void greet()
{
Console.WriteLine("안녕하세요 저는 드러머입니다.");
}
}
class Bell : Musician
{
public override void greet()
{
Console.WriteLine("안녕하세요 저는 벨 연주자입니다.");
}
}
class Piano : Musician
{
public override void greet()
{
Console.WriteLine("안녕하세요 저는 벨 연주자입니다.");
}
}
class Program
{
static void Main(string[] args)
{
//Musician M = new Musician();
Singer S = new Singer();
Drum D = new Drum();
Bell B = new Bell();
Piano P = new Piano();
// 일반적인 greet() 메서드 호출
S.greet();
D.greet();
B.greet();
P.greet();
Console.WriteLine("---------------------------------------------");
// 배열을 통한 greet() 메서드 호출
Musician[] M = new Musician[] { S, D, B, P } ;
foreach (var Temp in M)
{
Temp.greet();
}
Console.WriteLine("----------------------------------------------");
// List를 통한 greet() 메서드 호출
List<Musician> L = new List<Musician>() { S, D, B, P };
foreach(var Temp in L)
{
Temp.greet();
}
}
}
}
'C#' 카테고리의 다른 글
C#_iComparable인터페이스: 비교정렬 (0) | 2021.06.04 |
---|---|
C#_인덱서: [] 형태로 사용 (0) | 2021.06.03 |
C#_추상클래스(abstract), 자식 클래스에 부모메서드를 상속 (0) | 2021.06.03 |
C#_abstract: 추상클래스 (0) | 2021.06.03 |
C#_List: 배열, 배열을 수정하기가 array보다 간편하다. (0) | 2021.06.03 |