6장. 객체와 자료구조

ssu_hyun·2023년 9월 20일
0

Clean Code

목록 보기
7/12
  • 자료 추상화
    • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 것이 좋다.

      // 지양해야할 코드 : 구체적인 값의 자료
      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();
      }
  • 객체는 동작을 공개하고 자료를 숨기므로 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉽지만 새 동작을 추가하기는 어렵다.
  • 자료 구조는 별다른 동작 없이 자료를 노출하므로 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다.

0개의 댓글