[엘레강트 오브젝트] 3-1장 5개 이하의 public 메서드만 노출하세요.

2021. 9. 14. 22:46·Study/object
반응형

나를 닮았다고 한다...

이 글은 엘레강트 오브젝트 새로운 관점에서 바라본 객체지향 도서를 보며 스터디한 글입니다.

책에서 주장하는 내용을 정리하였으며 예제들은 모두 코틀린 코드로 변환하여 작성하였습니다.

 

목차

  1. 작은 객체 정의

작은 객체 정의

우아하고 유지보수가 가능하고 응집력이 높고 테스트하기가 용이한 객체는 작은 객체입니다.

 

작은 객체에 대한 자세한 정의는 적은 public메서드를 갖는 것입니다. 하나의 객체가 하나의 public 메서드와 20개의 private 메서드를 갖는다면 이 객체는 작은 객체로 분류합니다. 이 책에서 주장하는 public 메서드의 개수는 5개 이하로 주장하고 있습니다. ( 하지만 정확하게 5개로 주장하지 않는다 대체로 이정도? )

  public private
큰 객체 10 0
작은 객체 1 20

 

클래스가 작으면 메서드와 프로퍼티가 더 가까이 있을 수 있습니다. 각각의 메서드가 클래스의 모든 속성을 사용합니다. 즉, 높은 응집력을 가지게 됩니다. 만약에 메서드에서 모든 속상값을 사용하지 않는다면 응집력이 낮은 경우입니다. 이럴경우 많은 메서드를 선언하게 되고 결과 좋치 못한 코드를 작성할 수 있습니다.

 

이번 장은 한 장뿐이라 내용이 적네..

반응형

'Study > object' 카테고리의 다른 글

[엘레강트 오브젝트] 3-3장 인자의 값으로 NULL을 절대 허용하지 마세요.  (0) 2021.09.17
[엘레강트 오브젝트] 3-2장 정적 메서드를 사용하지 마세요.  (0) 2021.09.15
[엘레강트 오브젝트] 2-9장 인터페이스를 짧게 유지하고 스마트(smart)를 사용하세요.  (0) 2021.09.07
[엘레강트 오브젝트] 2-8장 모의 객체(Mock) 대신 페이크 객체(Fake)를 사용하세요.  (0) 2021.09.05
[엘레강트 오브젝트] 2-7장 문서를 작성하는 대신 테스트를 만드세요  (0) 2021.09.01
'Study/object' 카테고리의 다른 글
  • [엘레강트 오브젝트] 3-3장 인자의 값으로 NULL을 절대 허용하지 마세요.
  • [엘레강트 오브젝트] 3-2장 정적 메서드를 사용하지 마세요.
  • [엘레강트 오브젝트] 2-9장 인터페이스를 짧게 유지하고 스마트(smart)를 사용하세요.
  • [엘레강트 오브젝트] 2-8장 모의 객체(Mock) 대신 페이크 객체(Fake)를 사용하세요.
에디개발자
에디개발자
------ 한발자국씩 성장하자 ------ Github: https://github.com/yongtaelim LinkedIn: https://www.linkedin.com/in/%EC%9A%A9%ED%83%9C-%EC%9E%84-622b69218/
    250x250
  • 에디개발자
    에디블로그
    에디개발자
    • 분류 전체보기 (201) N
      • Develop (51)
        • spring-data (28)
        • spring-batch (7)
        • devops (5)
        • java (5)
        • kotlin (3)
        • database (2)
      • MindControl (12)
      • TroubleShooting (16)
      • Study (76)
        • kotlin (16)
        • java (15)
        • spring (6)
        • test (4)
        • message-queue (10)
        • object (22)
      • Develop Tool (1)
      • Daily Develop (7)
      • Book (5)
      • AI (22) N
        • Claude (10) N
        • ChatGPT (5) N
        • Cursor (2)
        • Gemini (3) N
        • 트랜드 (2)
      • 개발 트렌드 (8) N
        • 데일리 픽 (8) N
  • 인기 글

  • 태그

    엘레강트
    JPA
    JPQL
    kotlin
    코틀린
    자바
    java
    에디
    claude
    AI 활용
    객체지향
    백기선
    클로드
    ai 정보
    프로그래밍
    queryDSL
    개발자 도구
    스터디
    Ai
    anthropic
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에디개발자
[엘레강트 오브젝트] 3-1장 5개 이하의 public 메서드만 노출하세요.
상단으로

티스토리툴바