interfaceの存在意義というのはどういうところなのでしょう?
どういう用途に使えて、どういう用途には使うべきでないのでしょう?
abstractクラスとの使い分けはどのように行えばよいのでしょう?