Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL 6장. 객체와 자료구조
#clean_code
2년 전
414


TIL (Today I Learned)

2022.03.01

오늘 읽은 범위

6장. 객체와 자료구조

책에서 기억하고 싶은 내용을 써보세요.

  • 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다. (p.119)

  • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (p.119)

  • 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (p.119)

  • 객체는 조회 함수로 내부 구조를 공개하면 안되는 의미다. 그러면 내부 구조를 (숨기지 않고) 노출하는 셈이니까. 좀 더 정확히 표현하자면, 디미터 법칙은 "클래스 C의 메서드 f는 다음과 같은 객체의 메서드만 호출해야 한다"고 주장한다. (p.123)

  • 이런 잡종 구조는 새로운 함수는 물론이고 새로운 자료 구조도 추가하기 어렵다. 양쪽 세상에서 단점만 모아놓은 구조다. 그러므로 잡종 구조는 되도록 피하는 편이 좋다. (p.125)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 역시 어렵다. 처음 자바를 배울 때 클래스 부분까지만 배웠다가 어려워서 골치가 아팠던 적이 있었다. 파이썬을 공부할 때에도 클래스와 객체 개념이 나왔지만 사실 아직도 크게 감이 잡히지 않은 것 같았다. 이해가 될 듯 하면서도 정작 실전에서는 활용할 수 있을까? 하는 의문이 들었다. 왜 이렇게 해야하는지, 어째서 저렇게 하면 안되는 건지 이해는 되었지만 정작 코딩을 할 때 적용시킬 수 있는지는 아직 모르겠다. 이번 북클럽이 끝나면 도전하고 싶은 토이 프로젝트가 있는데 이 때 이를 명심하면서 코딩을 할 수 있도록 해야겠다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 디미터 법칩 : 잘 알려진 휴리스틱(heuristic)으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙