Какая абстракция эффективно очерчена по ссылке, размещенной в Tesserex. К моменту вашего профессора о добавлении дополнительной нагрузки на программу это на самом деле справедливо. Однако бремя в современных системах незначительно. Подумайте об этом с точки зрения того, что на самом деле происходит при вызове метода: каждый дополнительный метод, который вы вызываете, требует добавления в стек нескольких дополнительных структур данных, а затем обработки возвращаемых значений, также помещенных в стек. Так, например, называя
c = add(a, b);
который выглядит как
public int add(int a, int b){
return a + b;
}
требует нажатия двух целых чисел в стек для параметров, а затем толкая дополнительный один на стек для возвращаемого значения.Однако взаимодействие с памятью не требуется, если оба значения уже находятся в регистре - это простой вызов с одной инструкцией. Учитывая, что операции с памятью намного медленнее, чем операции с регистром, вы можете увидеть, откуда взялось понятие о производительности.
В конечном счете, каждый метод, который вы делаете, будет немного увеличивать накладные расходы вашей программы. Однако, как отмечает @Tesserex, в большинстве современных компьютерных систем это минута, и, как указывает @Andrew Barber, этот компромисс обычно полностью затмевается увеличением эффективности программиста.
Возможный дубликат: http://stackoverflow.com/questions/3634915/what-is-data-abstraction-exactly-means – Tesserex
Хорошо, эффективность - это сложный термин. – Andrey