클린코드 #6 객체와 자료구조
1. 자료 추상화 public class Point { public double x; public double y; } public interface Point { double getX(); double getY(); void setCartesian(double x, double y); } 위의 Point 클래스는 구현을 노출한다. x, y의 값을 변경하기 위해서는 직접 변경 해야하기 때문에 구현이 노출되었다. 그에 비해 밑의 Point 추상 클래스는 setCartesian으로 구현을 숨겼다. 이처럼 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 한다. //구체적인 Vehicle 클래스 public interface Vehicle{ double getFuelTankCapacityInGallon..