728x90
반응형
메소드의 오버라이드
상속한 메소드와 같은 이름, 같은 인수의 메소드를 작성해서 메소드를 덮어쓰는 것을 말한다. 반환 값의 형도 같아야 한다.
class Greeting
{
public virtual void byt() //오버라이드되는 메소드에는 virtual 키워드를 붙인다.
{
Console.WriteLine("good bye");
}
}
...
Greeting greeting = new Greeting();
greeting.bye();
...
**이것을 가상 메소드라고 한다. 오버라이드 되는 것이 전제이다.
class Aisatsu : Greeting
{
public override void bye() //오버라이드한 새 메소드에는 override 키워드를 붙인다.
{
Console.WriteLine("안녕히 가세요.");
}
}
...
Aisatsu aisatsu = new Aisatsu();
aisatsu.bye();
...
**오버라이드한 메소드가 호출된다.
코딩 ex)
using System;
class Greeting
{
pubic viertual void bye()
{
Console.WriteLine("good bye.");
}
}
class Aisatsu : Greeting
{
public override void bye()
{
Console.WriteLine("안녕히 가세요.");
}
public void cheer()
{
Console.WriteLine("건강하세요!");
}
}
class Owakare
{
public static void Main()
{
Aisatsu aisatsu = new Aisatsu();
aisatsu.bye();
aisatsu.cheer();
}
}
//출력
안녕히가세요.
건강하세요!
728x90
반응형
'프로그래머 > 코딩(C#)개념정리' 카테고리의 다른 글
C#_클래스의상속_구조 (0) | 2023.04.20 |
---|---|
C#_클래스의상속_오버라이드_2 (0) | 2023.04.19 |
C#_클래스의상속_이름의 은폐 (0) | 2023.04.12 |
C#_클래스의상속_생성자와 상속 (0) | 2023.04.12 |
C#_클래스의상속_다양한 수식 (1) | 2023.04.11 |