Community

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

← Go back
[TIL] 클린코드 6장 객체와 자료 구조
#clean_code
2년 전
501

오늘 TIL 3줄 요약

  • 객체와 자료구조의 차이점을 확실하게 이해해야 한다.

  • 객체는 메소드 공개, 멤버변수를 숨기고 자료 구조는 메소드를 숨기고 멤버변수를 노출시킨다.

  • 개발자는 직면한 문제에 대해서 객체와 자료 구조 중 어느것을 사용할지 최적의 해결책을 선택해야 한다.

TIL (Today I Learned) 날짜

2022. 05. 03

오늘 읽은 범위

6장. 객체와 자료 구조

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

  • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 고민해야 한다. (p.119)

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

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

  • 객체와 자료구조 두 개념은 서로 급본적으로 양분되는 관계이다. (p.122)

  • 디미터 법칙이란 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. (p.123)

  • 객체는 동작을 공개하고 자료를 숨긴다. 자료구조는 별다른 동작 없이 자료를 노출한다. (p.127)

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

  • 우리 대다수는 객체 지향 프로그래밍이라는 개념을 전공책에 나온 정석대로만 가볍게 배우고 넘겨왔다. 캡슐화, 정보은닉, 상속, 다형성 등의 특징을 책으로만 이해하고 어떻게 구현해야 할지는 생각하지 않았었다.

    이 챕터를 읽으면서 전공 수업시간때 배우지 못한 객체 지향 클래스와 자료구조의 차이와 구현 방향성을 이해할 수 있었다. 훌륭한 프로그래머가 되기 위해서는 소프트웨어를 설계하면서 자료 타입이나 동작 어느 부분이 변동성이 많은지 파악할 줄 알아야 한다. 객체 지향과 자료 구조 중 어느 설계 방향을 중점으로 선택할지 판단력을 키우는 것이 도움이 될거라고 느껴지는 챕터였다.

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

  • 휴리스틱 : 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법이다. (휴리스틱 이론)

오늘 읽은 다른사람의 TIL

깔끔하게 정리 잘해주셨습니다.