Community

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

← Go back
TIL-Assignment #09(2022.03.01[화])
#clean_code
2년 전
517


TIL (Today I Learned)

2022.03.01

오늘 읽은 범위

6장. 객체와 자료구조

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

  • 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. p119

  • 자료를 세세하게 공개하기 보다는 추상적인 개념으로 표현하는 편이 좋다. 인터페이스나 조회/설정 함수만으로는 추상화가 이루어지지 않는다. p119

  • 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객채에서 새 동작을 추가하기는 어렵다. 그래서 기존 자료 구조에서 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다. p127

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

  • 프론트앤드 개발자라서 그런건지 잘모르겠지만, 이해가 되지 않는 부분들이 참많았다.
    개발 할때 서버로 부터 데이터를 받을때 자료 구조로 받고 그것을 어떻게 뿌려줄지 고민을 하지
    데이터가 객체형일지, 자료 구조형일지에 대해 크게 생각하지 않아서 그랬던걸까?

  • 아니면 유저가 inspector로 객체에 접근 하는 문제가 있어서 그럴까?
    이 관점으로 바라봤을 때 무의미하게 노출되는 자료형들이 많이 떠올랐다.
    보안적인 문제가 있을 수도 있다는 생각이 들었고, 이에 가능한 객체에서 자료형을 숨기는 방향으로 작업을 해야함을 그제서야 알았다.

  • 더 나아가 왜 디미터 법칙이 필요했는지, 객체는 자료를 숨기고 함수를 공객하고 자료를 숨겨야만 했는지 알수 있었다. 객체 자료에 바로 접근한다는 건 그만큼 결합도 높다는 것이며. 결합도 즉 의존성이 높다는건 변화에 강하고. 오류가 적다는점을 알았다. 가능한 자료를 숨기고 함수로 공개하자.

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