본문 바로가기

보유/책

클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 10일

TIL (Today I Learned)

2025.06.01

 

오늘 읽은 범위

6장(객체와 자료구조)

 

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

*진정한 의미에서의 클래스 : 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작 가능

*인터페이스나 조회/설정 함수만으로는 추상화가 이루어지지 않음: 객체가 포함하는 자료를 가장 좋은 방버으로 표현해야 함

*잘차적인 코드 vs 객체 지향 코드

  장점 단점
절차적인 코드 기존 자료 구조 변경없이 새 함수 추가 용이 새로운 자료구조의 추가가 어려움
객체 지향 코드 기존 함수의 변경없이 새 클래스 추가 용이 새로운 함수의 추가가 어려움

 

*디미터 법칙 : 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다.

*자료 전달 객체 ( Data Transfer Object : DTO ) : 공개 변수만 있고 함수가 없는 클래스

*자료구조=공개 변수만 포함,  객체=비공개 변수와 공개 함수 포함

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

모든 것은 장단점이 있고, 어떤 것을 선택할지는 상황을 판단하는 능력에 따른다.

 

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

디미터 법칙 위반인지 아닌지의 판단.... 

추상화 수준..

 

세줄 요약

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

*객체가 만능해결사는 아니다. 때로는 단순한 자료 구조와 절차적인 코드가 적합한 경우도 있다.

*자료구조, 객제의 구분 사용이 중요하다.

반응형