Трудно сказать наверняка, и я бы сказал, если это то, где производительность достаточно важна, чтобы стоить жертвовать хорошим дизайном.
JIT встроит простые функции, такие как геттеры. И JIT может также устранить проверки границ массива во многих случаях. Таким образом, размещение доступа к массиву за методом может иметь худшую производительность, чем прямой доступ к нему, если эти оптимизации выполнены, но если они не выполнены, производительность может снизиться.
Но вы можете обнаружить, что, если массивы достаточно велики, накладные расходы при вызове функции намного меньше, чем узкое место в памяти процессора <>, и выбор алгоритма, такого как использование «блочных» алгоритмов на матрицах, будет иметь самое большое значение, и не так много, как к отдельным элементам обращаются.