오브젝트 정리15 [Study 001] 오브젝트 알고리즘 입문방에서 만난 분이 감사하게도 초대해주셔서 쿄잉님의 스터디에 참여하게 됬다. 많이 배울 수 있을 것 같다! 스터디 주제 '오브젝트 (조영호 저)' 를 읽으면서 매주 일요일 오후 2시에 모여서 토론. 참가자 - https://github.com/nahwasa - https://github.com/ohgillwhan - https://github.com/woogiekim - https://github.com/K-jun98 일정 (완료) 첫 주만 1장, 이후 2장씩 진행. 1주차 - 2022-11-13 : 킥오프 + 1장 2주차 - 2022-11-19 : 2,3장 3주차 - 2022-11-27 : 4,5장 4주차 - 2022-12-03 : 6,7장 5주차 - 2022-12-19 : 8,9장 6주차 .. 2023. 3. 8. [오브젝트] 15장. 디자인 패턴과 프레임워크 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 15. 디자인 패턴과 프레임워크 ⚈ 디자인 패턴 - 협력을 일관성 있게 만들기 위해 재사용할 수 있는 설계의 묶음 애플리케이션을 설계하다 보면 어떤 요구사항을 해결하기 위해 과거에 경험했던 유사한 해결 방법을 다시 사용하는 경우가 있다. 이처럼 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법을 디자인 패턴이라고 부른다. 디자인 패턴의 목적은 설계를 재사용하는 것이다. 디자인.. 2023. 1. 21. [오브젝트] 14장. 일관성 있는 협력 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 14. 일관성 있는 협력 ⚈ 애플리케이션을 개발하다 보면 유사한 요구사항을 반복적으로 추가하거나 수정하게 되는 경우가 있다. 이러한 상황에서 각 협력이 서로 다른 패턴을 따를 경우에는 전체적인 설계의 일관성이 서서히 무너지게 된다. 객체지향 패러다임의 장점은 설계를 재사용할 수 있다는 것이다. -> 재사용은 공짜로 얻어지지 않는다. 재사용을 위해서는 객체들의 협력 방식을 일관성 있게 만들어야 한다. 과거의 해결 방.. 2023. 1. 21. [오브젝트] 13장. 서브클래싱과 서브타이핑 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 13. 서브클래싱과 서브타이핑 ⚈ 상속은 두 가지 용도로 사용된다. 첫 번째 용도는 타입 계층을 구현하는 것이다. 타입 계층 안에서 부모 클래스는 일반적인 개념을 구현하고 자식 클래스는 특수한 개념을 구현한다. 타입 계층의 관점에서 부모 클래스는 자식 클래스의 일반화(generalization)이고 자식 클래스는 부모 클래스의 특수화(specialization)다. 두 번째 용도는 코드 재사용이다. 재사용을 위해 .. 2023. 1. 14. [오브젝트] 12장. 다형성 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 12. 다형성 ⚈ 코드 재사용을 목적으로 상속을 사용하면 변경하기 어렵고 유연하지 못한 설계에 이를 확률이 높아진다. 상속의 목적은 코드 재사용이 아니다. 상속은 타입 계층을 구조화하기 위해 사용해야 한다. ⚈ 12장 : 상속의 일차적인 목적이 코드 재사용이 아니라 서브타입의 구현이라는 사실을 이해하기 위한 챕터 01 다형성 ⚈ 다형성(Polymorphism) : 하나의 추상 인터페이스에 대해 코드를 작성하고 이 .. 2023. 1. 14. [오브젝트] 11장. 합성과 유연한 설계 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. 10장과 연관된 내용으로, 10장 부터 봐야 이해 가능합니다. CHAPTER 11. 합성과 유연한 설계 ⚈ 상속(Inheritance)과 합성(Composition) 객체지향 프로그래밍에서 가자 널리 사용되는 코드 재사용 기법이다. 상속 : 부모 클래스와 자식 클래스를 연결해서 부모 클래스의 코드를 재사용. 부모 클래스와 자식 클래스 사이의 의존성은 컴파일타임에 해결된다. =is-a 관계 합성 : 전체를 표현하는 객체가 부분을 .. 2023. 1. 4. [오브젝트] 10장. 상속과 코드 재사용 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 10. 상속과 코드 재사용 ⚈ 코드 재사용 전통적인 패러다임 : 코드를 복사한 후 수정 객체지향 : 코드를 재사용하기 위해 '새로운' 코드를 추가. 객체지향에서 클래스를 재사용하는 전통적인 방법은 새로운 클래스를 추가하는 것. ⚈ 이번 장에서는 상속을 통한 코드 재사용을 알아보고, 11장에서 코드를 효과적으로 재사용할 수 있는 합성을 알아본 후 상속과 합성의 장단점을 비교하게 된다. 01 상속과 중복 코드 ⚈ 중복.. 2023. 1. 3. [오브젝트] 9장. 유연한 설계 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 09. 유연한 설계 ⚈ 8장에서 살펴본 다양한 의존성 관리 기법들을 원칙이라는 관점에서 정리하는게 9장이다. ☆ 마침 스터디 순서상 이번주차에 8장과 9장이었는데, 같이보게 되서 매우 다행이었다. 8장 내용 중복 겸 +@로 설명해주는게 9장이다. 특히 평소 헷갈렸던 부분들을 해결해주는 부분이 많아서 개인적으로 많이 좋았던 장이다. SOLID 중 OCP도 다른 글들 봐도 명확히 이해가 안됬는데 이 책에 답이 있었다... 2022. 12. 22. [오브젝트] 8장. 의존성 관리하기 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 08. 의존성 관리하기 ⚈ ☆ 마침 운좋게 스터디에서 8장, 9장이 같은 주차에 들어갔다. 8장과 9장 자체가 연계되는거라 운이 좋았다. 객체에서 자기 자신이 사용할걸 직접 생성하는게 맞는지, 쓰는쪽에서 주입해주는게 맞는지와 유연성있게 짜면 코드가 복잡해지는 느낌이라는게 고민이었다. 8장, 9장에서 그 부분을 설명해줘서 평소 궁금하던 부분이 해결되어 좋았다. ⚈ 8장은 충분히 협력적이면서도 유연한 객체를 만들기 위.. 2022. 12. 22. [오브젝트] 7장. 객체 분해 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 07. 객체 분해 ⚈ 문제를 해결하기 위해 사용하는 저장소는 장기 기억이 아니라 단기기억이다. 문제 해결에 필요한 요소의 수가 단기 기억의 용량을 초과하는 순간 문제 해결 능력은 급격하게 떨어진다. -> 인지 과부하(cognitive overload) 인지 과부하 방지 : 단기 기억 안에 보관할 정보의 양을 조절하는 것 ⚈ 인류가 복잡한 분야(소프트웨어 개발 영역)의 문제를 해결하기 위해 사용한 것 추상화 : 불필.. 2022. 12. 8. 이전 1 2 다음