override 에 대한 질문입니다.

제가 아는 수준의 override 인 경우

해당 인터페이스나 추상클래스의 메소드를
구현하고자 하는 클래스에서
override 키워드를 이용해 메소드명 , 파라미터 등을 동일하게
정의/구현 하는 것으로 아는데요
인터페이스/추상클래스 의 메소드는 abstract 로 선언되있구요

그런데 해당 추상클래스의 메소드는 virtual 로만 되있습니다.
거기에 정의 등 소스가 많이 있습니다.

좋아요 1

질문하시고자 하는 내용이 어떤 건가요??

좋아요 2
  • virtual은 sub class가 override 구현하지 않더라도 동작할 수 있도록 기본 구현을 할 수 있도록 합니다.
  • abstract는 sub class가 반드시 override 구현을 해야 하도록 합니다. 본체에는 구현체가 없습니다.
  • override를 하게 되면 해당 기능을 재정의 하게 됩니다. 재정의 해서 얻는 이점은 super class가 이미 구현한 내용을 재활용할 수 있고 변경할 수 있다는 점입니다.
좋아요 7

안녕하세요. 질문을 올려주시는 점은 감사하지만, 포럼에서 답글을 남겨주시는 분들이 질문 글에 답해야 하는 것은 의무가 아닙니다. 그러므로, 질문을 올려주실 때에는 명확하게 올려주실 것을 부탁드립니다.

감사합니다.

좋아요 5

요렇게 설명하는 글도 있네요.

abstract-메소드와-virtual-메소드-차이점 링크

좋아요 4