오버라이드(Override), 오버로드 (Overload)

2021. 6. 17. 22:12
728x90

 [ 오버라이드 ] 

오버라이드(Override) : 무시하다. 상위메서드를 무시하고 하위에서 재정의 하는 것.

  • 대상 : class의 메서드, 속성, 인덱서, 이벤트
  • 사용 형식 : 상위 class에 "virtual" 명시, 하위 class에 "override" 명시
  • 상속과 연관이 있음

class A {
    //하위 class에서 재정의할거면 외부에서 접근 가능한 public으로 선언해야함
    public virtual void Print(){
    	...
    } 

}

class B : A {
    
    public override void Print(){
    	...
    }

}

class C {
    
    class A 호출 //class B가 A를 재정의했기 때문에, A 호출하는 건 B를 호출하는 것과 같음.

}

 

 [ 오버로드 ] 

오버로드(Overload) : 과부하.과적하다. 1개의 메서드명에 다양한 매개변수를 적용하는 것.

  • 오버로드는 상속과 관계없지만, 상속 관계에서도 충분히 사용할 수 있음
  • 메서드명만 동일하면 되고, 매개변수는 임의로 변경하는 방식
  • 추후에 메서드 호출 시, 매개변수 세팅한 상태에 맞게 호출해줘야함

 

class A{

    public void Print() {...} // 메서드 생성자
	
    public void Print(int number) {...} //오버로드1
	
    public void Print(int num, string strPara) {...} //오버로드2
    
}

 

728x90

'C# > C# 문법' 카테고리의 다른 글

속성(Property)  (0) 2021.06.17
다형성 (Polymorphism)  (0) 2021.06.17
상속(Inheritance), 추상클래스(Abstract Class)  (0) 2021.06.17
파일 입출력  (0) 2021.06.15
예외 처리문  (0) 2021.06.15

BELATED ARTICLES

more