То что вы называете "КОП" уже давно используется в ООП и называется Composition over inheritance. Это когда вместо наследования используется композиция.
Например с наследованием будет так:
class Person {
String name;
}
class Employer : Person {
BigDecimal salary;
}
а с композицией будет так:
class Person {
String name;
}
class Employer {
Person person;
BigDecimal salary;
}
Почитайте про паттерны проектирования в ООП. Там много интересного и практически применимого.