Как правильно писать функции с префиксом get?
У вас подход к разработке вывернут наизнанку. Цепочка разработки такая: требования->архитектура->реализация. Вы же из реализации пытаетесь выяснить как «правильно». Это принципиально невозможно. Правильно так, как удовлетворяет требованиям. А требований нет. Поэтому сначала нужно определиться с требованиями к интерфейсу класса, а потом уже делать реализацию (ну а приватный методы — это ни что иное как способ реализации интерфейса).
Не очень понятно, что это за объект. Допустим, наш объект — класс приложения. При открытие дополнительного окна нужно прочитать большой файл, например, таблицу CSV. При этом, понятно, что при старте приложения грузить этот файл не надо (потому как дополнительное окно может и не быть открыто), но в случае когда мы его хотя бы один раз прочитали, читать второй раз уже не хочется. В таком случае можно использовать паттерн lazy loading:

public class Application {

    private CsvData csvData = null;

    public CsvData getCsvData() {
        if ( csvData == null ) {
            csvData = readCsvData();
        }
        return csvData;
    }

    private CsvData readCsvData() {
        // read file from the disk, do not forget about synchronization
        // ...
        return csvData;
    }
}
