Community

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

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


TIL (Today I Learned)

// 2022.03.01

오늘 읽은 범위

// 6장. 객체와 자료 구조

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

  • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 인터페이스나 조회/설정 함수만으로는 추상화가 이뤄지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. -119p

  • 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. -119p

  • 복잡한 시스템을 짜다 보면 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다. 반면, 새로운 자료 타입이 아니라 새로운 함수가 필요한 경우도 생긴다. 이때는 절차적인 코드와 자료 구조가 좀 더 적합하다. - 122p

  • 디미터 법칙은 잘 알려진 휴리스틱으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. 앞 절에서 봤듯이, 객체는 자료를 숨기고 함수를 공개한다. 즉, 객체는 조회 함수로 내부 구조를 공개하면 안 된다는 의미다. 그러면 내부 구조를 (숨기지 않고) 노출하는 셈이니까. - 123p

  • 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. - 128p

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

  • 이번 챕터는 다른 챕터들과 같이 직관적으로 처음부터 와닿는 부분이 적었다. 아무래도 객체 지향 프로그래밍과 관련된 개념에 대해 아직 무지한 탓인 것 같다. 아무튼, 추상화를 위해 객체가 포함하는 자료를 표현할 방법에 관해 고민하는 것의 필요성에 대해 알 수 있는 시간이었다. 객체와 자료 구조의 차이점, 또한, 새로운 자료 타입을 추가하는 유연성이 필요한지, 새로운 동작을 추가하는 유연성이 필요한지에 따라 그 중 어떤 방법을 택해야하는지에 관해 알 수 있었다.

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