Через API Java вы видите многочисленные случаи противоречивых имен и практик, которые действительно меня смущают.
Например:
Класс String имеет закрытую переменную (Integer) по имени count, которая отслеживает размер строки, однако это возвращает геттер по имени length().
Если вы перейдете к любому типу массивов, вместо того, чтобы иметь метод getter для длины, они просто передают переменную через общедоступный аксессор, и ее можно получить с помощью arrayInstance.length.
Возвращаясь к классу String, у нас есть метод String#getBytes(), который является геттером, похожим на геттер length(), однако выполняет немного больше логики, чтобы получить и вернуть значение.
Мне лично создание геттера с префиксом get кажется излишним, например, я скорее набираю GamePacket#data() versus GamePacket#getData(), но я чувствую, что за этим наименованием может быть более глубокое значение, а не просто несоответствие.
Кроме того, почему Array[] использует getter для length?
Кто-нибудь был бы любезен, чтобы пролить свет на это для меня?
