30. 同じ名前で異なる型を扱う
部分型:異なる型を、同じ型名で扱う
interface Unit
class PriceUnit implements Unit
class BoxUnit implements Unit
多重定義:同じメソッド名で異なる型を受け取る
UnitPrice#multiply(Piece)
UnitPrice#multiply(Box)
総称性:一つのクラス名で型のバリエーションを扱う
List<Amount>, List<Quantity>, …
2018/9/14 30