title: Why we use abstract class and interface ? Difference between Class, Abstarct Class and Interface
body: <p>I know this is very repetitive question i also read most of the post but not found the satisfactory answers. I know the bookish difference which i read from most of the posts. </p>
  
  <p>Can any one please tell me </p>
  
  <p><strong>why we use abstract class and interface?</strong> </p>
  
  <p><strong>when we use this one?</strong> </p>
  
  <p>i know that when we have some repeated task but implementing in a different way each time then we use abstract class.</p>
  
  <p>i think we can implement this by a normal class and subclass using <strong>overriding</strong> then <strong>why we use abstract?</strong> also their is a difference of access specifier between abstract class and interface as well as the <strong>compulsion of implementation in interface</strong>. </p>
  
  <p>Interface is quite acceptable that when we <strong>want to force to implement all method</strong> in that situation we use interface but <strong>why abstract class?</strong> Is compulsion of implementation is just a difference? </p>
  
  <p>thanks in advance.</p>