SS
Основная идея ФП - это иммутабельность, неизменность данных и что функции это объекты.
Основная идея ООП - это объединение данных и операций над данными. Еще некоторые считают, что ООП не бывает без наследования.
Вот ты пишешь
class Color {Неизменность данных соблюдена? Соблюдена. Объединённость данных и методов соблюдена? Соблюдена.
private int red;
private int green;
private int blue;
// лень писать геттеры
public Color(int red, int green, int blue) {
this.red = red;
this.green = green;
this.blue = blue;
}
Color add(Color other) {
return new Color(
(this.red + other.red) / 2,
(this.green + other.green) / 2,
(this.blue + other.blue) / 2,
)
}
String getHexColor() {
return "#{red.hex()}{green.hex()}{blue.hex()}";
}
}