자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 것이 좋다.
// 지양해야할 코드 : 구체적인 값의 자료
public class Point
{
public double x;
public double y;
}
public interface Vehicle
{
double getFuelTankCapacityInGallons();
double getGallonsOfGasoline();
}
// 지향해야할 코드 : 추상적인 개념의 자료
public interface Point
{
double getX();
double getY();
void setCartesian(double x, double y);
double getR();
double getTheta();
double setPolar(double r, double theta);
}
public interface Vehicle
{
double getPercentFuelRemaining();
}