본문 바로가기

Study-Book2

협력,, 객체지향 시스템은 자율적인 객체들의 공동체이다. 객체는 고립된 존재가 아니라 시스템의 기능이라는 더 큰 목표를 달성하기 위해서 다른 객체와 협력하는 사회적인 존재이다. 협력은 객체지향 세계에서 기능을 구현할수 있는 유일한 방법이다. 두 객체 사이의 협력은 하나의 객체가 다른 객체에게 도움을 요청할 때 시작된다. 메세지 전송은 객체 사이의 협력을 위해 사용할 수 있는 유일한 커뮤니케이션 수단이다. 메시지를 수신한 객체는 메서드를 실행해서 요청에 응답한다. 여기서 객체가 스스로 메서지를 처리할 방법을 선택한다. 외부 객체는 메세지를 전송할 뿐이며, 메세지를 어떻게 처리할 지는 메세지를 수신한 객체가 직접 결정한다. Screening 이 Movie 에게 처리를 위임하는 이유는 계산하는데 필요한 기본 요금과 할.. 2022. 3. 28.
의도를 분명히 밝혀라 의도를 분명히 밝혀라 ‘의도가 분명하게 이름을 지으라’고 말하기는 쉽다. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 그러므로 이름을 주의깊게 살펴 더 나은 이름이 떠오르면 개선하자. 변수 나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수의 존재이유? , 수행 기능은? , 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. int d; //경과 시간(단위: 날짜) 이름 d 는 아무 의미도 드러나지 않는다. 경과 시간 이나 날짜 라는 느낌이 안든다. 측정하려는 값과 단위를 표현하는 이름이 필요하다. int elapsedTimeInDays; int daysSinceCreation; int daysSinceMod.. 2022. 3. 23.