なぜ Rust や Go などの新しいプログラミング言語は継承を捨ててコンポジションを採用したのか? Java には「十分な理由がない限り、継承を使うな」という原則があります。しかし、Java は継承を厳格に制限しているわけではなく、継承を書くことは可能です。