Community

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

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

2022.05.02

💡 오늘 TIL 3줄 요약

  • 객체는 동작을 공개하고 자료를 숨긴다.

  • 자료구조는 별다른 동작없이 자료를 노출한다.

  • 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.


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

  • 변수 사이에 함수라는 계층을 넣는다고 구현이 감춰지지 않음

  • 구현을 감추려면 추상화가 필요!

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

  • 객체 - 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개

  • 자료구조 - 자료를 그대로 공개하며 별다른 함수는 제공 안함

(자료구조를 사용하는) 절차적인 코드는 기족 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. / 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다

절차적인 코드는 새로운 자료 구조를 추가하기 어렵다. 추가하려면 모든 함수를 고쳐야 한다. / 객체 지향 코드는 새로운 함수를 추가하기 어렵다. 추가하려면 모든 클래스를 고쳐야 한다.

  • 기차 충돌 : ex) final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath()

  • 그렇다고 자료구조와 객체 모두 모아놓은 잡종구조는 노노!!

  • 구조체 감추기 : ctxt가 객체라면 뭔가를 하라고 말해야지 속을 드러내라고 말하면 안된다.


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

  • 사실 객체나 자료구조에 대한 개념이 부족해서 이번 장 내용이 유익했다. 객체/ 자료구조를 구분하는 거 뿐만 아니라 어떻게 설계해야 좋은지 알수 있었다.

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

  • 활성 레코드

💬 오늘 읽은 다른사람의 TIL