본문 바로가기
프로그래머/코딩(C#)개념정리

C#_클래스의상속_오버라이드_1

by FourthWay 2023. 4. 16.
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
반응형