개발자 99% 커뮤니티에서 수다 떨어요!
2022.05.02
💡 오늘 TIL 3줄 요약
객체는 동작을 공개하고 자료를 숨긴다.
자료구조는 별다른 동작없이 자료를 노출한다.
우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.
💡 책에서 기억하고 싶은 내용을 써보세요.
변수 사이에 함수라는 계층을 넣는다고 구현이 감춰지지 않음
구현을 감추려면 추상화가 필요!
자료를 세세하게 공개하기보다 추상적인 개념으로 표현하는 편이 좋다.
객체 - 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개
자료구조 - 자료를 그대로 공개하며 별다른 함수는 제공 안함
(자료구조를 사용하는) 절차적인 코드는 기족 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. / 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다
절차적인 코드는 새로운 자료 구조를 추가하기 어렵다. 추가하려면 모든 함수를 고쳐야 한다. / 객체 지향 코드는 새로운 함수를 추가하기 어렵다. 추가하려면 모든 클래스를 고쳐야 한다.
기차 충돌 : ex) final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath()
그렇다고 자료구조와 객체 모두 모아놓은 잡종구조는 노노!!
구조체 감추기 : ctxt가 객체라면 뭔가를 하라고 말해야지 속을 드러내라고 말하면 안된다.
✍️ 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
사실 객체나 자료구조에 대한 개념이 부족해서 이번 장 내용이 유익했다. 객체/ 자료구조를 구분하는 거 뿐만 아니라 어떻게 설계해야 좋은지 알수 있었다.
🧐 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
활성 레코드
💬 오늘 읽은 다른사람의 TIL