Object-Oriented Design 세미나 ¶
실전 객체지향 설계로 배우는 왜? ¶
- “단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.”
- 이것은 비단 객체지향에 한정된 이야기가 아니라 컴퓨터공학 발전의 역사를 이끌어온 가장 중대한 목표이자, 앞으로 여러분이 컴퓨터공학도로서 갖춰야할 모든 공학적 지혜들의 근본이라는 것을 잊지 마세요. - 변형진
후기 ¶
- 오늘 긴 시간동안 모두 수고하셨습니다. 오늘 설명한 내용이 아직 깊이 와닿지 않더라도 좋습니다. 프로젝트 개발에 있어 그동안 흔히 전개했던 방식과는 다른 접근 방식의 가능성을 확인하는 것만으로도 좋은 경험이 되었길 바랍니다. 누누히 강조하지만 한 번에 이해하시길 바라서 진행하는 세미나가 아니라, 정말 중요한 하나의 제언만이라도 남는다면 그것을 앞으로 몇 번 듣고 또 듣고, 그리고 정말 그 개념이 필요한 순간이 됐을 때 큰 힘이 되리라 믿습니다. 좋은 후기를 작성해주신 분 한 분을 선정해서 번역서 Holub on Patterns을 선물로 드립니다. 후기는 감상보다는 되새김이 되었으면 좋겠습니다. - 변형진
- 학교 환경도 안 받쳐주고, 제 머리도 안 받쳐줬어요. diff/merge 기능 설계를 바라보면서 객체지향 설계를 봤는데 어려우면서도 효율적인거 같더라구요. 그리고 형진이 형이 세뇌하신 내용 "단일변화가 생겨서 수정할 때 쉽게 수정하려면 구조가 중요하다" 이거 꼭 외울게요 - 윤종하
- 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질문도 했었는데, 형은 if문 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if문 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복문을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 “단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.” 라는 말과는 거리가 한 참 멀어지더라구요;; 예측은 가능한데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때문에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
오늘 했던 내용 중 정말 특히 기억에 남는건 "상속을 하기 위한 프로그래밍을 하지 말아라" & "패턴을 적용시키기 위한 프로그래밍을 하지 마라" 였습니다.
제가 뭘 배우기만 하면 꼭 써먹을려는 습관이 있는지라, 정말 문법같은걸 배우면 꼭 써먹으려고 하거든요. 그런데 이 말을 듣고, 문법의 남용을 자제해야겠다는 생각을 했습니다; 마치 영어 배울때 수동태 문장 많이 만들지 마라 라는 느낌이었어요 ㅋㅋ
정말 중간에 어려워서 LineDrawable 얘기할땐 잠깐 졸았지만 너무 유익한 세미나 였습니다~ - 박성현
- 일단 개인적으론 늦어서 앞부분을 못들은게 아쉽고, SE팀플과 관련된 수확이 있어서 여러모로 유용한 세미나였습니다ㅋ
일단 들으면서 간단히 적었던걸론
추상화는 단일변화에 대해 수정사항이 예층가능케 할려고 한다는점,
패턴을 통해 커뮤니케이션이 좋아지는거지, 구현이 좋아지는건 아니다