호빵의 IT 개발소

오버로딩, 오버라이딩 본문

CS(전공지식)/프로그래밍언어

오버로딩, 오버라이딩

호빵Stack 2022. 6. 29. 00:28

오버로딩(Overloading)

  • 하나의 클래스 안에 같은 이름으로 메서드를 재정의
  • 이름은 같게 하고 매개변수의 개수 및 타입정보는 다르게 한다.
  • 오버로딩은 유사하거나 동일한 결과를 출력하는 메서드가 전달 받는 매개변수에 따라 ㅂ다른 연산을 해야 하는 경우에 사용
  • 메서드마다 다른 이름을 정의 하는 것보다는 직관적이고 편리
public int Test(int a, int b)
{
	return a + b;
}

public int Test(int a)
{
	return a;
}

public int Test()
{
	return;
}

 

오버라이딩(Overriding)

  • 오버라이딩은 상위 클래스에서 선언된 함수를 하위 클래스에서 재정의하는 것(이미 정의된 메서드를 재 사용 하는 것)
  • 부모클래스의 메서드는 virtual 키워드를 자식 클래스의 메서드는 override를 꼭 선언한다.
  • 다형성을 잘 나타내는 기법
class Animal
{
    public virtual void Sound()
    {
    	Console.WriteLine("동물 울음 소리");
    }
}

class Pig : Animal
{
    public override void Sound()
    {
    	base.Sound();
    	Console.WriteLine("꿀꿀");
    }
}

class Tiger : Animal
{
    public override void Sound()
    {
    	base.Sound();
    	Console.WriteLine("어흥");
    }
}

출력

동물 울음 소리
꿀꿀
동물 울음 소리
어흥

 

 

 


출처 및 참조 : 

https://funfunhanblog.tistory.com/54

Comments