객체지향 정글 스터디 🌱
INCOMING LINKS
Note | Description |
---|---|
링크는 코드로 어떻게 구현할까요? | 객체는 다른 객체와 협력을 위해 존재하고 협력은 연결된(링크된?) 객체끼리 메시지를 통해서 한다라고 말하고 있습니다. 그러면 코드수준에서 객체끼리 링크가 되어있는지 어떻게 알 수 있을까요? |
welcome | - |
2025-08-31 객체지향 정글 스터디 ch07, appendix-a | - |
2025-08-24 객체지향 정글 스터디 ch05, ch06 | - |
2025-08-17 객체지향 정글 스터디 ch03, ch04 | - |
2025-08-10 객체지향 정글 스터디 - ch01, ch02 | - |
2025-08-03 서기
상기) 돌아가면서 발표 ❌ 나태해짐 한다면 랜덤하게 지목하던지 하고싶은 사람이 하던지 다같이 하던지. 중간중간 계속 서로를 견제하면서 그날 공부한 거 소통하는 채널이 됐음 좋겠다. 만나는 건 진도체크와 소감 정도로만 했으면 좋겠다.
상기) 일주일에 챕터 두개
광윤) 블로그에 쓴 글 질문하기? 한 명씩 타겟팅 하면서 블로그 위주로
상기) 블로그는 적어도 작은 주제 하나 잡아서 토요일까지 완성하고 당일날 토론해보기.
상기) 발제하고 싶은게 있으면 채널에 남길 것
상기) 한달 빨리 객체지향 완독하고 오브젝트 스터디 진행할 예정임.
현수) 이 책을 여러번 다시 읽어본 구절들이 있어 "나만 이해못하는 거 아닌가" 싶은 부분에 대하면 이 부분에 대하여 물어보고 해도 좋은지?
- 상기) ㄱㄱ
8/3 스터디 OT 정리,
- 매주 2챕터 자율 학습,
- 수시로 채널에서 자료 공유, 질의 응답,
- 이번 교재는 개념, 이론 위주이지만 실제 코드로 검증해보면 더 효율적임!,
- 토요일 자정까지 블로그 작성,
- 블로그는 자율 양식(전체 요약보다 특정 주제로 작게해도 무방),
- 일요일 화상 모임 때 각자 5분 이내로 소감 및 자율 발표,
- 일요일 화상 모임 때 서로 블로그 보면서 질의응답, 토의, 토론,
8/10 스터디
- ⭐️ 질의응답은 객체지향 스레드보다는 Q&A 채널에서 해서 더 많은 분들이 볼 수 있게끔
- 광윤) > "객체 지향에서 협력하는 객체의 지능이 높아질수록 협력은 유연하고 간결해진다." 이 문장에 초점을 맞춰봄.
8/17 스터디
- 객체지향 공부한다고 다 객체지향으로 짜야된다는 강박을 버리기
(시청 후 JDC 유튜브 구독과 좋아요 해주세요~)
- (과제) 리스코프치환 원칙 코드로 설명할 수 있게 공부하기
- (진도) 5~6장, 특히 5장은 심도 있게 미리 공부하기!
- (번외) JDC 태그 설정하기
- (촬영) 다음 주 스터디 화상 모임은 촬영 후 JDC 유튜브 업로드 예정입니다!
더욱 더 열심히(?) 준비 부탁드립니다!
8/31 스터디
정소영님
- 처음에 설계하고 구현하다 보니 속성을 뒤늦게 정의하는 과정에서 코드가 바뀌는 경우가 많음.
김지성님
- "지도"를 보고 코드를 작성하려면 팀원 모두가 같은 지도를 공유해야 하지 않을까? 프로젝트 할 때엔 밑작업부터 통일을 해야 객체지향적 설계를 적용할 수 있지 않을까 하는 생각.
- 프레임워크는 제어의 흐름이 정해져 있어 편하지만, 오히려 객체지향을 공부하고 보니 이 미리 짜놓은 흐름이 정해져 있기 때문에 제약을 주지 않을까? 더군다나 객체지향에 대한 이해가 없다면 프레임워크를 "사용"하는 데 그칠 수 있지 않을까? 개념들을 이해하고 프레임워크를 이해하면 좀 더 활용할 수 있지 않을가 했다.
- AI 시대에서 무언가를 구현하는 건 맡길 순 있는데 설계하는 덴 부족하지 않을까?
민상기님
- 인프런 기술면접에서 떨어졌을 때 "추상클래스와 인터페이스가 뭔가요"에 대한 질문에 답을 못했음.
- 위노트 서비스 만들다보니 "현실도메인을 파악하고 인터페이스를 설계하고 구현한다" 라는 말이 지금과 가장 직접적으로 경험하게 되었다.
- 객체지향을 클래스로부터 탈피했다.
- 클래스의 본질은 타입이구나. 범주화, 클래스를 쓴다는 것이 무수히 많은 타입을 묶은 개념이라고 볼 수 있겠네.
- 오브젝트 책을 3개월간 시도했는데, 정말 어려웠지만 한 단계 점프한 느낌. 정글수료 후 객체지향 공부했으면 이직에 유리했을 것이다. 코드로 직접 써보는 것이 정말 도움이 많이 되었었다
김현수님
- IS-A 관계는 일반화와 특수화: 계층관계를 띄는 상위개념과 하위개념. 100%규칙과 IS-A 규칙.
- HAS-A 관계는 집합과 분해인가 싶어서 리서치. 합성(Composition)과 연관(Aggregation) 하는 관계. 연관관계와 합성관계.
김광윤님
- Q) ABC 추상클래스에 생성자를 정의한 이유가 궁금해요
- A) 다루는 값이 모두 똑같아서 그렇게 했다. 파이썬에는 인터페이스가 없어 가능한 일.
- langraph, airflow 등등에서 다루는 데이터 오케스트레이션에서는 추상화가 3단계가 들어간 것으로 보인다.
- 오퍼레이터 ⇒ 멱등성 보장, 재시도 등등
- 태스크인스턴스 ⇒ 오퍼레이터를 어떻게 고를 것이냐
- 스테이트 ⇒ "언제" 와 같은 상태와 같은 정보
- Operator -> Task -> TaskInstance
- 리소스가 기하급수적으로 늘어나는 상황에서 객체지향 중요성을 느끼고 있다
- 다음 목표는 "이건 객체지향적이지 않아" 라기 보다는 적재적소에 필요한 객체지향 설계를 도입할 수 있는 수준까지 올라갈 수 있도록 해야할 것 같다.
뒤풀이
- 정글 밋업 광고
- 실리콘밸리 Vercel 출신 강동윤님, NextJS, turbopack 기여자. SWC 트랜스파일러 만드신 분. 오프라인으로 만나서 섭외한 거니까 팟캐스트 일반인도 참여할 수 있으니까.
- 다음 스터디
- 오브젝트 빠듯 2개월, 느슨 3개월
- 객체지향의 사실과 오해 한번 더 리딩해볼 수도 있지 않을까?
- 마지막 숙제는 자유수다 방에다 이번 스터디 소감 길게 남겨줄 것
과제: 자유수다 방에 이번 스터디 소감 길게 남겨줄 것
https://discord.com/channels/1374552182191427625/1400331492168699914 스터디를 끝마치며.. ⭐️
사실 2년 전에 이 책을 일회독 했지만 이해가 되지 않거나 실무에 어떤 도움을 줄 수 있을지 애매한 상태로 남겨진 상태였습니다. 이번 스터디를 통해 한달동안 책을 다시 읽으며 틈틈히 추가지식 리서치도 해보았는데요, 결과적으로 실무에서 작성하고 있던 코드들, 특히 단순 CRUD를 넘어서 복잡한 정책을 갈아끼워야 하는 순간에 빛을 발하게 되었습니다. 변경에 취약한 코드로부터 "핵심 비즈니스 로직"을 안전하게 지키기 위해 안정적인 구조를 모델링 하고 멘탈지도로 활용하는 방법을 배웠습니다. 객체들은 들어오는 메시지에 능동적으로 판단하여 협력에 참여하고 객체들도 책임이라는 이름의 계약관계를 위해 서로 의무를 지게 되고, 비슷한 것들끼리 범주화 하는 과정을 통해 역할, 책임, 협력 관점으로 객체를 은유할 수 있게 되었습니다.
이번 스터디는 마무리 되었지만 사실 이제 시작이라고 봅니다. 앞으로 SOLID 원칙이라던가 도메인 주도 설계와 같은 지식을 배울 때 객체지향이 빠지지 않기 때문에 앞으로의 학습과정에서 큰 축이 되어줄 것 같습니다!