본문 바로가기

C#

C# 기초 문법 -오버라이딩 /오버로딩/ 추상클래스,메서드/인터페이스-다중상속/

반응형

오버라이딩 - > 상속에만 쓸 수 있다.

자체 클래스에는 완전한 동일한 메소드가  두개 존재 할 수 없다.  

class A

{   

int i;

}

class B : A

{

int i;

}

B 클래스에 i 변수를 선언 하는 것은 이유가 있어야 한다.

그렇지 않으면 쓸모 없는 메모리 낭비이다.

 

부모에게 있는 메소드를 

인자를 추가 해서 미묘하게 다르게 해서 사용하는 것을 

오버로딩 -> 상속일때도 쓰고 베이스 클래스에서도 쓴다. 

 

 

Car()

Car(int a)   -> 자신

 

Test() -> 부모

Test(int a) -> 자식

 

 

B obj = new B();

obj.i -> B에 접근 ! 

이거는 오버라이딩  오리지날 메소드가 존재한다.

 

 

부모 클래스를 통하면 자식 클래스를 통하지 않고 모든 걸 다 관리 할 수 있는데 

단점은 무조건 부모 클래스만 거치게 되어서 

이 단점을 보완하고 자 

virtual 키워드를 사용하게 되면 

객체에 집중하게 되어 자식 클래스안에 있는 메서드나 생성자도 사용이 가능하다 . 

 

추상추상

메서드를 가져 와서 쓰는 것 만으로 문제가 없음

 

인터페이스를 사용하는 이유

engin 선언을 하면 메서드로 사용하는 tostring을 자유롭게 사용할수 있다.

반응형