• 오늘의 (유일한;) 공부 ==> 객체의 책임,역할,협력에 대해 너무 좋은 자료를 발견했고, 공부gogo함.
  • 위 자료를 읽어보면서, 내가 현재 만들고 있는 배민찬 사이트에서
    • 만든 객체들의 책임,역할,협력관계를 다시 살펴보았고
    • 내가 만든 구조는 어떤 방식으로 생각해서 구현했었는지 과정을 복기해보는 시간이 되었음.
  • 신기한 건, 책임 주도 설계라는게 있다는 걸 위 자료를 보면서 알게되었는데
    • 나도 계속 리팩토링 과정을 경험하며 이런 방법과 유사하게 생각해서 개발한 적이 있다는 것이다.
    • 즉, 이 객체가 어떤 일을 할 것인지 정리해보면, 그 객체가 어떤 정보를 가지고 다른 객체와 어떻게 소통할 지가 자연스럽게 정해진 경험을 시행착오를 거치다가 느끼게 되었는데
    • 실제로도 이런 생각이 설계방법으로 제시되어 있다는 것을 발견한 것이 신기했다. (이럴 때 개발이 좀 즐겁다.)
  • 이런 객체지향 개념을 설명할 때 대부분이 너무 개발과 동떨어진 대상을 데려와서 쉽게 비유하려는 자료가 많은데
    • 나는 오히려 실제 세계에서 개발하는 코드와 간극이 너무 커서
    • 읽고나면, ‘그래서 지금 내가 만드는 코드에 어떻게 적용해야 하는데?’ 라고 생각하곤 했다.
    • 이번에 좀 달랐던 이유는, 내가 개발을 하고 리팩토링을 한 경험이 있었기에 경험에 기반하여, 그렇게 한게 이거였구나를 발견하며 읽으니 예전보다는 더 이해가 된 것 같다.
  • 헐 몰랐는데 위 자료 만든 분이 ‘객체지향의 사실과 오해’ 책 쓰신 분이었다 -0- !! 역시…
  • 저녁에는 코드스쿼드 오픈세미나를 들었다. (주제: 알고리즘, 자료구조 어떻게 공부해야하나)


(크롱의 조언)
너무 객체지향적인 사고에 빠지는 것은 조심하라는 듯이 조언하셨음.
여러가지 패러다임이 있다는데, 나는 이거 자체가 패러다임 중 하나라는 사실이 더 신기했다.(전부가 아니라 일부라는 사실이 신기했다.)
또 어떤 것들이 있는지 알고 싶은데 당장은 아니고.
일단 이걸 제대로 알아야 다른 걸 배울 때 비교하며 장단점을 느낄 수 있을 것 같다.