디미터 법칙이 무엇이고, 이에 대한 장단점을 설명해주세요. #109
Replies: 3 comments
-
디미터 법칙(Law of Demeter 또는 LoD)은 객체 지향 설계의 한 원칙으로, 객체가 다른 객체와 통신할 때 객체는 자신이 가지고 있는 직접적인 관계만을 사용해야 한다는 것을 의미한다. 즉, 객체는 자신의 멤버 변수, 메서드의 매개변수, 메서드 내에서 생성된 객체만을 호출해야 하며, 객체 내부의 객체에 대한 접근은 최소화해야 한다. 장점:
단점:
|
Beta Was this translation helpful? Give feedback.
-
협력하는 객체의 내부 구조에 대한 결합으로 인해 발생하는 설계 문제를 해결하기 위해서 제안됐습니다. 디미터의 법칙을 따르기 위해서는 클래스가 특정한 조건을 만족하는 대상에게만 메시지를 전송하도록 해야합니다. 모든 클래스 C와 C에 구현된 메서드 M에 대해서, M이 메시지를 전송할 수 있는 모든 객체는 다음에 서술된 클래스의 인스턴스여야 합니다.
이때, M에 의해 생성된 객체나 M이 호출하는 메서드에 의해 생성된 객체, 전역 변수로 선언된 객체는 모두 M의 인자로 간주합니다. 이는 다음과 같이 요약할 수 있습니다. 낯선 자에게 말하지 말라. 디미터의 법칙은 객체가 자기 자신을 책임지는 자율적인 존재여야 한다는 사실을 강조합니다. 반면, 작성하는 코드량이 증가하는 것이 단점입니다. |
Beta Was this translation helpful? Give feedback.
-
객체는 스스로를 책임지는 자율적인 존재 |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions