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 |