Community

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

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


TIL (Today I Learned)

2022.03.01

오늘 읽은 범위

6장. 객체와 자료 구조

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

자료 / 객체형

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

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

절차적인 코드

  • 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다.

  • 새로운 자료 구조를 추가하기 어렵다. 그러려면 모든 함수를 고쳐야 한다.

객체 지향 코드

  • 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다.

  • 새로운 함수를 추가하기 어렵다. 그러려면 모든 클래스를 고쳐야 한다.

잡종 구조

  • 절반은 객체, 절반은 자료 구조

  • 새로운 함수는 물론이고 새로운 자료 구조도 추가하기 어렵다.

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

  • 이번 파트는 이해가 되지 않는 부분이 많았다. 처음 듣는 용어가 많이 등장해서 읽는데 어려웠던 것 같다. 반복해서 읽으면서 추상과 구현에 대해서 곱씹어봤다. 객체 지향 코드는 지금 당장은 고생하더라도 장기적으로 기능을 편리하게 추가하거나 수정할 수 있다는 점이 가장 중요해보인다. 그렇다고 객체 지향 코드만 사용하는 것도 바람직한 방식은 아니다. 목적에 따라서는 적절히 자료 구조 코드도 사용하는 것이 중요한 것을 명심해야겠다. 항상 유연하게 사고하는 것이 필요하겠다.

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

디미터 법칙

  • 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙