개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
아무 생각없이 getter/setter 함수를 추가하는 방법이 가장 나쁘다
새로운 자료타입을 추가하는 유연성이 필요하면 객체가 적합
새로운 동작을 추가하는 유연성이 필요하면 자료구조와 절차적 코드가 적합
TIL (Today I Learned) 날짜
2022.05.04
오늘 읽은 범위
6장. 객체와 자료구조
책에서 기억하고 싶은 내용을 써보세요.
추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스 (p119)
(자료구조를 사용하는) 절차적 코드는 기존자료구조를 변경하지 않으면서 새 함수를 추가하기 쉽다.( p122)
반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다.(p122)
디미터 법칙은 모듈은 자신이 조작하는 객체의 속사정을 몰라야한다는 법칙(p123)
DTO의 일반적인 형태는 bean구조, 빈은 비공개 변수를 getter/setter 로 조작. 일종의 사이비 캡슐화이며 별다른 이익은 없음.(p126)
새로운 자료타입을 추가하는 유연성이 필요하면 객체가 적합(p128)
새로운 동작을 추가하는 유연성이 필요하면 자료구조와 절차적 코드가 적합(p128)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
기계적으로 getter와 setter를 생성하면서 데이터가 은닉이 되는 것이 맞는가, 특히 bean을 만들면서 은닉이 무슨 의미일까 생각했는데, 오늘 책을 읽으면서 조금 이해가 되는 것 같았다. 몇 번 더 읽고 데이터 은닉에 대해 다시 정리해보는 시간이 필요할 것 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
객체와 자료구조를 구분하는 연습이 필요할 듯하다.