abstract (추상)


먼저 간단한 예제를 테스트해봤다.

1) 메서드에 abstract을 사용하려면 해당 클래스도 abstract로 선언되어야 한다.

2) abstract 키워드로 표시한 속성이나 메서드는 본문을 정의할 수 없고, 

파생된 자식클래스에서 이 메서드를 정의 할 수 있다.(반드시 정의 해야함)

3) 접근 한정자 private은 사용이 불가하다.

4) 새로운 개체 생성이 불가능하다. (파생 클래스로 생성가능)


.


Virtual (가상)

Virtual도 간단한 예제를 테스트 해봤다.

1) 메서드에 virtual 키워드를 붙여야한다.

2) 접근 한정자 private은 사용이 불가하다

3) abstract과 다르게 본문을 정의 할 수 있다. (괄호만 치고 비워 놓아도 됨)

4) 파생클래스에 base. 키워드를 쓰면 부모 클래스에있는 메소드에 있는 내용 실행할 수 있음

(Parents클래스의 test에 접근한다는 것임) 

<실행결과>


override

override키워드는 위에서 사용한 것 들을 보면 부모클래스에서 선언,정의한 내용을 상속을 받은 자식클래스에서 매서드를 재 정의 할때 사용 한다는 것을 알 수 있다. opp지향 언어의 다형성을 잘 보 여 주는 키워드이다.





반응형

'프로그래밍언어 > C#' 카테고리의 다른 글

C#) Generics 제네릭 클래스  (0) 2019.02.04
C#) 비트연산자  (0) 2019.01.30
C#) Delegate 콜백메서드,Delegate 체인 #3  (0) 2019.01.25
C#) 델리게이트 #2  (0) 2019.01.24
C#) 델리게이트(delegate) #1  (0) 2019.01.23

+ Recent posts