강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

rweteam님의 프로필 이미지
rweteam

작성한 질문수

객체 지향 프로그래밍 입문

캡슐화

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

작성

·

284

1

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

acc.getDate().isAfter(now)

acc.isExpired()

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

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

답변 1

7

최범균님의 프로필 이미지
최범균
지식공유자

네 맞습니다.

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

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

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

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

rweteam님의 프로필 이미지
rweteam

작성한 질문수

질문하기