🔖 오늘 읽은 범위 : 6장. 객체와 자료구조(p.118 ~ 128)
<aside> 😃 책에서 기억하고 싶은 내용을 써보세요.
</aside>
<aside> 🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
</aside>
자료구조와 객체지향을 따로 배웠고 연관지어 생각해본적이 없었는데 서로 상반되는 개념이라는 점이 놀라웠다. 이번 챕터는 이해되지 않는 부분이 많아서 여러번 읽어야했다.
자료구조가 함수를 제공하지 않는다는 점 → DTO 부분을 읽으니 전에 진행한 프로젝트에서 EntityFramework로 구현한 부분과 비슷해서 이해가 됐다.
객체는 함수만 공개한다는 점 → 자료구조와 상반되는 개념이며 “객체지향”의 객체라고 생각하니 이해가 됐다.
디미터 법칙 → 아래의 코드를 보니 이해가 잘 됐다.
<aside> 🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
</aside>
VISITOR 패턴: 주로 상속 없이 클래스에 메서드를 효과적으로 추가하기 위해 사용한다.
활성 레코드(Active Record) 패턴 VS Data Mapper 패턴
디미터 법칙(The Law of Demeter) = Don’t Talk to Strangers(낯선 이에게 말하지 마라) 또는 Principle of least knowledge(최소 지식 원칙)
class A {
private B b;
public setA(B b) {
b = b;
}
public myMethod(OtherObject other) {
// ...
}
/* 디미터의 법칙을 잘 따른 예 */
public okLawOfDemeter(Paramemter param) {
myMethod(); // 자신의 메소드
b.method(); // 자신의 멤버의 메소드
Local local = new Local();
local.method(); // 직접 생성한 객체의 메소드
param.method(); // 메소드의 인자로 넘어온 메소드
}
/* 디미터의 법칙을 어긴 예 */
public violateLawOfDemeter(Paramemter param) {
C c = param.getC();
c.method(); // 인자로 받은 객체에서의 호출.
param.getC().method(); // 위와 같음.
}
}
출처: <https://coding-start.tistory.com/264> [코딩스타트]
소감 3줄 요약