![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJVPJG%2FbtsuG5kxTVh%2FB86BoTpXKK3Hw6kT3wWG7k%2Fimg.jpg)
클린코드 #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..