[노개북] 클린코드 Day 10

챕챕·2024년 2월 4일
0

[노개북] 클린코드

목록 보기
7/10

TIL (2024.02.04)

📖 오늘 읽은 범위: 6장. 객체와 자료 구조

✍️ 책에서 기억하고 싶은 내용

  • 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다.
  • 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다.
  • 자료/객체 비대칭
    • 객체 - 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다.
    • 자료 구조 - 자료를 그대로 공개하며 별다른 함수를 제공하지 않는다.
  • 분별 있는 프로그래머는 모든 것이 객체라는 생각이 미신임을 잘 안다. 때로는 단순한 자료 구조와 절차적인 코드가 가장 적합한 상황도 있다.
  • 디미터 법칙 - 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙.
객체자료구조
공개동작자료
비공개자료동작
쉬움기존 동작을 변경하지 않으면서 새 객체 타입 추가기존 자료 구조에 새 동작 추가
어려움기존 객체에 새 동작 추가기존 함수에 새 자료 추가

💭 오늘 읽은 소감과 떠오르는 생각

  • 객체와 자료 구조를 비교하면서 깊게 생각해본 적은 없었는데, 이번 챕터를 읽으면서 그 차이에 대해 고민해볼 수 있었다.
  • '모든 것은 객체로 볼 수 있다'고 배웠었고, 그래서 절차 지향 프로그래밍보다 객체 지향 프로그래밍이 당연히 더 나은 것이라고 생각해왔던 것 같다. 모든 것은 경우에 따라 다를 수 있다는 점을 간과하지 말자.

🤨 궁금한 내용 또는 잘 이해되지 않는 내용

  • public이나 private같은 키워드가 존재하지 않는 자바스크립트에서는 오늘 읽은 내용을 어떻게 적용할 수 있을까?

0개의 댓글