단기 목표 뿌수기/클린코드

[노개북 - 9] 6장. 객체와 자료구조

전고흐 2022. 3. 1. 21:42
728x90

TIL (Today I Learned)

2022.03.01

 

오늘 읽은 범위

6장. 객체와 자료구조

 

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

  • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (p.119)
  • 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. 문단을 처음부터 다시 읽어보기 바란다. 두 정의는 본질적으로 상반된다. 두 개념은 사실상 정반대다. 사소한 차이로 보일지 모르지만 그 차이가 미치는 영향은 굉장하다. (p.120)
  • 복잡한 시스템을 짜다 보면 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다. 반면, 새로운 자료 타입이 아니라 새로운 함수가 필요한 경우도 생긴다. 이때는 절차적인 코드와 자료 구조가 좀 더 적합하다. (p.122)
  • 활성 레크드는 자료 구조로 취급한다. 비즈니스 규칙을 담으면서 내부 자료를 숨기는 객체는 따로 생성한다. (여기서 내부 자료는 활성 레코드의 인스턴스일 가능성이 높다.) (p.127)
  • (어떤) 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다. (p.128)

 

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

  • 이번 장은 특히 더 이해하기 어려웠던 것 같다. C를 주로 사용하다보니 객체의 개념이 많이 모호해졌기 때문인 것 같다. 자바... 공부를 해서 리마인드를 얼른 해야겠다는 생각밖에 들지 않는 부분이었다. 어렵다..

 

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

  • 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지 않는다. 구현을 감추려면 추상화가 필요하다! 그저 (형식 논리에 치우쳐) 조회 함수와 설정 함수로 변수를 다룬다고 클래스가 되지는 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. (p.119)
728x90

'단기 목표 뿌수기 > 클린코드' 카테고리의 다른 글

[노개북 - 11] 7장. 오류처리  (0) 2022.03.03
[노개북 - 10] 복습  (0) 2022.03.02
[노개북 - 8] 5장.형식 맞추기  (0) 2022.02.28
[노개북 - 7] 복습  (0) 2022.02.28
[노개북 - 6] 4장.주석  (0) 2022.02.24