개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.03.01
오늘 읽은 범위
6장. 객체와 자료구조
책에서 기억하고 싶은 내용을 써보세요.
변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다. (p.119)
자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (p.119)
객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (p.119)
객체는 조회 함수로 내부 구조를 공개하면 안되는 의미다. 그러면 내부 구조를 (숨기지 않고) 노출하는 셈이니까. 좀 더 정확히 표현하자면, 디미터 법칙은 "클래스 C의 메서드 f는 다음과 같은 객체의 메서드만 호출해야 한다"고 주장한다. (p.123)
이런 잡종 구조는 새로운 함수는 물론이고 새로운 자료 구조도 추가하기 어렵다. 양쪽 세상에서 단점만 모아놓은 구조다. 그러므로 잡종 구조는 되도록 피하는 편이 좋다. (p.125)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
역시 어렵다. 처음 자바를 배울 때 클래스 부분까지만 배웠다가 어려워서 골치가 아팠던 적이 있었다. 파이썬을 공부할 때에도 클래스와 객체 개념이 나왔지만 사실 아직도 크게 감이 잡히지 않은 것 같았다. 이해가 될 듯 하면서도 정작 실전에서는 활용할 수 있을까? 하는 의문이 들었다. 왜 이렇게 해야하는지, 어째서 저렇게 하면 안되는 건지 이해는 되었지만 정작 코딩을 할 때 적용시킬 수 있는지는 아직 모르겠다. 이번 북클럽이 끝나면 도전하고 싶은 토이 프로젝트가 있는데 이 때 이를 명심하면서 코딩을 할 수 있도록 해야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
디미터 법칩 : 잘 알려진 휴리스틱(heuristic)으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙