Programming/C#
Virtual, Abstract, Interface
SherryBirkin
2017. 11. 6. 13:45
Interface - 여러클래스에 공통적인 기능을 추가 하기 위해 사용
(파생클래스에서 구현해야함 <interface에 정의된 것 전부>)
Abstract - 파생클래스에서 공유할 기본클래스의 공통적인 정의 제공하기 위해 사용
(파생클래스에서 구현해야함 <Abstract 선언된 것>)
Virtual - 메서드,속성, 인덱서 또는 이벤트 선언을 한정하는데 사용
(파생클래스에서 Override 하여 따로 사용할 수 있음)
=> Virtual은 Override 하지 않아도 사용 가능한 완전한 class (그대로 사용가능)
Virtual한정자가 달린 것들을 재정의하여 사용 가능.
=> abstract는 여러개의 파생 클래스에서 공유할 기본 클래스의 공통적인 정의만
하고 ,파생클래스에서 abstract 한정자가 달린 것을 모두 재정의 해야함.
=> Interface는 abstract와 비슷하지만 멤버변수를 사용할 수 없다.
예제 소스