-
디미터의 법칙(Law of Demeter)LANGUAGE/etc 2015. 1. 29. 11:45
데메테르는 그리스 신화에 나오는 추수의 신이다. 로마신화에서는 세레스 Ceres 라고 불리는 바로 그 신. 하지만, 그 데메테르하고 이 법칙하고는 상관없다는 것이 함정. [위키피디아]1에서는 데메테르의 법칙을 아래와 같이 정의하고 있다.
데메테르의 법칙에서는 어떤 객체
O
의 메소드m
는 다음과 같은 종류의 객체에 있는 메소드들만 실행시킬 수 있다.O
자체m
의 변수m
안에서 만들어진 객체O
가 직접 관리하는 콤포넌트 객체m
의 스코프 안에서O
가 접근 가능한 전역변수
좀 말이 어려운데, Richard Carr의 [The Law of Demeter]2 포스트에 좀 더 쉬운 설명이 있다.
어떤 클라스의 멤버 – 메소드 또는 속성 – 는 반드시 다음과 같은 객체들의 멤버들만을 실행시켜야 한다:
- 해당 메소드 또는 속성이 선언된 객체
- 메소드의 파라미터로 보내진 객체
- 메소드 또는 속성이 직접 초기화시킨 객체
- 호출을 위한 메소드 또는 속성으로서 같은 클라스 안에서 선언된 객체
- 전역 객체
'LANGUAGE > etc' 카테고리의 다른 글
GNB, Dimmed (0) 2015.02.06