개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
객체와 자료구조의 차이점을 확실하게 이해해야 한다.
객체는 메소드 공개, 멤버변수를 숨기고 자료 구조는 메소드를 숨기고 멤버변수를 노출시킨다.
개발자는 직면한 문제에 대해서 객체와 자료 구조 중 어느것을 사용할지 최적의 해결책을 선택해야 한다.
TIL (Today I Learned) 날짜
2022. 05. 03
오늘 읽은 범위
6장. 객체와 자료 구조
책에서 기억하고 싶은 내용을 써보세요.
자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 고민해야 한다. (p.119)
객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. (p.119)
자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (p.119)
객체와 자료구조 두 개념은 서로 급본적으로 양분되는 관계이다. (p.122)
디미터 법칙이란 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. (p.123)
객체는 동작을 공개하고 자료를 숨긴다. 자료구조는 별다른 동작 없이 자료를 노출한다. (p.127)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
우리 대다수는 객체 지향 프로그래밍이라는 개념을 전공책에 나온 정석대로만 가볍게 배우고 넘겨왔다. 캡슐화, 정보은닉, 상속, 다형성 등의 특징을 책으로만 이해하고 어떻게 구현해야 할지는 생각하지 않았었다.
이 챕터를 읽으면서 전공 수업시간때 배우지 못한 객체 지향 클래스와 자료구조의 차이와 구현 방향성을 이해할 수 있었다. 훌륭한 프로그래머가 되기 위해서는 소프트웨어를 설계하면서 자료 타입이나 동작 어느 부분이 변동성이 많은지 파악할 줄 알아야 한다. 객체 지향과 자료 구조 중 어느 설계 방향을 중점으로 선택할지 판단력을 키우는 것이 도움이 될거라고 느껴지는 챕터였다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
휴리스틱 : 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법이다. (휴리스틱 이론)
오늘 읽은 다른사람의 TIL
깔끔하게 정리 잘해주셨습니다.