Day7 범위
06. 객체와 자료구조
TIL(Today I Learned) 3줄 요약
1.객체는 동작을 공개하고 자료를 숨긴다. 자료 구조는 별다른 동작 없이 자료를 노출한다.
2.모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다.
3.새로운 자료타입/동작을 추가하는 경우에 따라 객체 또는 절차적인 코드를 선택하는 현명함 필요하다.
클린코드의 세계
자료/객체 비대칭
- 객체는 추상화 뒤로 자료를 숨긴채 자료를 다루는 함수만 공개한다.
- 자료구조는 자료를 그대로 공개하며 별 다른 함수는 제공하지 않는다.
→ 다양한 사례를 통해 체화 필요한 부분이다.
디미터 법칙은 잘 알려진 휴리스틱으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다.
어떤 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견 없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.
이번 챕터는 시스템을 구현하며 내가 잘 적용할 수 있을까 라는 의문점이 가장 많이 들었던 파트였다. 책에 적힌 텍스트 자체는 이해가 가지만 이 이론을 잘 적용하는 것이란 쉽지 않은듯 했고, 언젠가 이 파트에 통달하는 내 모습을 꼭 보고싶다는 포부(?)를 한 가득 가지며 이 챕터를 끝냈다.