• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    미해결

Demeter's Law 설명이 잘 이해가 안갔습니다 ㅠㅠ

21.12.30 17:52 작성 조회수 178

1

3가지 경우를 적어주셨는데 말이 잘 이해가 안가서 예시로 느낌이라도 이해하려하는데요

acc.getDate().isAfter(now)

acc.isExpired()

위에 처럼 여러 메소드를 꼬리물기식으로 사용하게끔 구현하지말고

아래처럼 한번에 메소드로 원하는 기능을 수행하게끔 구현하라는게 Demeter's Law 가 맞나요??

답변 1

답변을 작성해보세요.

7

네 맞습니다.

가능하면 객체 그래프를 따라서 객체를 get, get, get 하는 형태로 작성하지 말고 

바로 접근할 수 있는 객체(파라미터, 필드 등)의 메서드를 호출하는 형태로

코드를 작성하라는 내용입니다.

이렇게 작성하려고 시도하다보면 캡슐화할 가능성이 높아지게 됩니다.