>>482
class と interface は型の定義手段
abstract class と trait は差分プログラミングという名の手抜き手段の一つ