반응형

객체지향과디자인패턴 6

[후기] 개발자가 반드시 정복해야 할 객체지향과 디자인 패턴

우아한테크코스 레벨1 과정에서 데일리조끼리 객체지향과 디자인패턴 스터디를 진행하였고, 덕분에 이 책을 완독할 수 있었다 ㅎㅎ 좋았던 점 결론부터 말하자면 java 개발을 병행하면서 OOP 개념을 익히기 매우 좋았던 책이었다. 책 제목이 '디자인 패턴'이라 디자인패턴만 주구장창 공부할까봐 걱정 중이라면, 그 걱정을 저 멀리 내던져도 좋을 듯하다. 실제로 이 책은 디자인패턴에 관해서는 chapter 7에서 잠깐 소개하는 정도로 알려준다. 그 외에 chapter 2~6까지는 다형성, 추상화와 같은 oop 기초개념들을 확립할 수 있게 해주기 때문에 디자인패턴 책이라기보단, oop 책에 훨씬 가깝다고 생각한다. chapter 2 스터디 포스팅: https://kth990303.tistory.com/274?cate..

독후감/IT 서적 2022.04.14

[호호 스터디] DI와 서비스 로케이터 _객체지향과 디자인 패턴 Chapter 6

호호 스터디에서 Chapter 6: DI와 서비스 로케이터를 듣기 전에, 미리 책을 읽고 공부한 내용을 기록한 포스팅이다. DI와 서비스 로케이터 각 객체들을 사용하기 위해선 어떤 방법이 좋을까? 아무 생각없이 객체를 생성하고 의존하게 될 경우, Chapter 5에서 배웠던 DIP(의존 역전 원칙), OCP(개방 폐쇄 원칙), SRP(단일 책임 원칙) 등 SOLID 원칙을 어기게 되고, 변경에 유연하지 못한 코드가 만들어질 확률이 높다. 특히, 순환 의존이 발생할 경우, 요구사항이 수정되거나 변경될 경우 모든 객체의 코드를 수정해야 될 수도 있다. 이번 시간에는 DI(Dependency Injection), 서비스 로케이터를 이용한 객체 사용 방법에 대해 알아보도록 하겠다. Service Locator ..

[호호 스터디] 설계 원칙: SOLID_객체지향과 디자인 패턴 Chapter 5

호호 스터디에서 Chapter 5: 설계 원칙: SOLID를 듣기 전에, 미리 책을 읽고 공부한 내용을 기록한 포스팅이다. SOLID 원칙 어떻게 보면 귀에 딱지가 앉을 정도로 많이 들어서 너무 뻔하게 느껴질 수 있다. 하지만 막상 코드를 짤 때는 자신도 모르는 사이에 잘 지켜지지 않는 경우가 많다. 애초에, 객체의 값을 꺼내지 말고 메시지를 던지라는 것조차도 코드를 짜다보면 잘 안지켜지는 경우가 많은 것처럼 말이다. 이번 포스팅에서 SOLID 원칙을 살펴보긴 하겠지만, 제일 좋은 건 실전을 통한 많은 경험을 해보는 것인 듯하다 :) 단일 책임 원칙 (Single Responsibility Principle : SRP) 클래스는 단 한 개의 책임을 가져야 한다. 객체지향적인 코드를 짜기 위해 최대한 책임..

[호호 스터디] 재사용: 상속보단 조립_ 객체지향과 디자인 패턴 Chapter 4

호호 스터디에서 Chapter 4: 재사용: 상속보단 조립을 발표하기 전에, 미리 책을 읽고 공부한 내용을 기록한 포스팅이다. 이펙티브 자바 (아이템 18. 상속보다는 컴포지션을 사용하라) 내용과도 유사한 점이 존재한다. 상속을 통한 재사용의 단점 지난 포스팅에서 `상속이 정말 좋을까?` 라는 소주제로 글을 쓴 적이 있다. https://kth990303.tistory.com/280 [호호 스터디] 다형성과 추상 타입_ 객체지향과 디자인 패턴 Chapter 3 호호 스터디에서 Chapter 3: 다형성과 추상 타입을 발표하기 전에, 미리 책을 읽고 공부한 내용을 기록한 포스팅이다. 이펙티브 자바, 오브젝트 책에 적힌 내용과 유사한 내용도 많이 있어, 함께 읽 kth990303.tistory.com 상속을..

[호호 스터디] 다형성과 추상 타입_ 객체지향과 디자인 패턴 Chapter 3

호호 스터디에서 Chapter 3: 다형성과 추상 타입을 발표하기 전에, 미리 책을 읽고 공부한 내용을 기록한 포스팅이다. 이펙티브 자바, 오브젝트 책에 적힌 내용과 유사한 내용도 많이 있어, 함께 읽으면 좋은 시너지 효과를 낼 수 있을 듯하다! (이펙티브 자바 3판_아이템18, 19, 64) 다형성을 위한 인터페이스 다형성(Polymorphism)이란, 한 객체가 여러 가지 모습을 갖는다는 것을 의미한다. 즉, 한 객체가 여러 가지 타입을 갖는다는 것을 의미한다. 위 그림처럼 LottoGenerator에는 여러 방법이 있다. 자동으로 생성하는 방법과, 수동으로 생성하는 방법. 따라서 로또 생성 인스턴스 객체를 생성하려 할 때, 아래와 같이 두 가지 방법이 존재한다. LottoGenerator lotto..

[220221] 호호 스터디_ 객체지향과 디자인 패턴 Chapter 2

데일리 미팅에서 호호 크루가 '객체지향과 디자인 패턴' 책 스터디를 주최하여 참여를 신청했다 :) 앞으로 호호 스터디를 통해 객체지향과 디자인패턴 책을 읽고 배우며 느낀 점들을 여기에 기록할 듯하다. 끝까지 완독하고 나면, 독후감 카테고리에 따로 포스팅을 작성할 예정이다. 객체지향을 선택한 이유 절차지향은 데이터 중심으로 이루어진다. 그리고 각 프로시저들이 그 데이터를 여러가지 방식으로 조작한다. 프로시저가 다른 프로시저를 사용할 수도 있고, 같은 데이터를 사용할 수도 있다. 그러나 위 경우의 문제점은, 요구사항이 수정됐을 때 발생한다. 일단 같은 데이터를 다루는 프로시저들이 많다보니, 데이터 타입이나 의미 변경이 발생하면 수정해야 할 프로시저도 많아진다. 거기에, 프로시저가 다른 프로시저를 사용하고 있..

반응형