독서이야기/엘레강트 오브젝트 - 새로운 관점에서 바라본 객체지향

[엘레강트 오브젝트] 3.1 5개 이상의 public 메서드만 노출하세요

사랑꾼이야 2023. 3. 12. 21:11
반응형

이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다.

  • 메소드 크기
  • 정리

가장 우아하고, 유지보수가 가능하고, 응집력이 높으면서, 테스트하기도 용이한 객체는 작은 객체 이다.

메소드 크기

클래스의 크기를 정하는 기준으로 public 메서드(protected 메서드 포함)의 개수를 사용하기를 권장한다. 여기에서는 저자가 적절하다고 생각하는 객체의 public 메서드의 수는 5개이다.

  • 구체적인 숫자를 언급한 이유는 public 메서드의 수에 제한이 있고, 그 제한이 매우 작다는 사실을 설명하기 위해서이다.

클래스를 작게 만들어서 얻는 이득으로는 무엇이 있을까? 다음 4가지의 장점이 있다.

  • 우아함
  • 유지보수성
  • 응집도
  • 테스트 용이성

가장 중요한 것은 유지보수성이다. 더 작은 클래스는 유지보수하기도 쉽다.

  • 더 작기 때문에, 코드양이 더 적고, 메소드의 수가 더 적고, 에러를 찾기 더 쉽고, 수정하기도 쉽다.
  • 각각의 메서드가 객체의 진입점이고 진입점의 수가 적다면 문제를 더 쉽게 고립시킬 수 있다.

정리

  • 적은 클래스는 테스트하기도 쉽고, 모든 사용 시나리오를 쉽게 재현할 수 있으며, 클래스가 작기 때문에 사용 시나리오의 수도 많지 않다.
  • 클래스가 1개의 public 메서드만 포함하고 있다면, 중요한 모든 테스트를 아주 쉽게 작성할 수 있다.
반응형