Book/스프링 입문을 위한 자바 객체지향의 원리와 이해
-
디자인 패턴 - 2Book/스프링 입문을 위한 자바 객체지향의 원리와 이해 2022. 1. 4. 16:19
Template Method Pattern(템플릿 메서드 패턴) => 의존 역전 원칙(DIP) 상위 클래스의 견본(템플릿) 메서드에서 하위 클래스가 오버라이딩한 메서드를 호출하는 패턴 견본(템플릿)을 제공하는 class에서 템플릿 메서드를 하위 클레스에게 구현을 강제하는 추상 메서드 + 선택적으로 오버라이딩할 수 있는 (hook)메서드를 구현한다. public abstract class Parent { //템플릿 메서드 public void templateMethod(){ System.out.println("blablabla"); 메서드A(); 메서드B(); } //추상 메서드 abstract void 메서드A(); //hook 메서드 void 메서드B(){ } } public class Child1 e..
-
디자인 패턴 - 1Book/스프링 입문을 위한 자바 객체지향의 원리와 이해 2022. 1. 3. 23:03
디자인 패턴을 왜 알아야할까? 디자인 패턴이라면 일종의 설계도 레시피이다. 프로그램을 작성하다 보면 비슷비슷 한 경우가 자주 발생하는데 이럴땐 이렇게 하라라는 레시피를 정리 해 둔 것이다. Adapter Pattern(어댑터 패턴) 호출당하는 쪽의 메서드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴 adapter == converter 변환기로 서로다른 두 인터페이스 사이에 통신이 가능하게 하는 것이다. //AdapterServiceA public class AdapterServiceA { ServiceA s1 = new ServiceA(); void 메서드(){ s1.메서드A(); } } //AdapterServiceB public class AdapterServiceB { S..
-
객체 지향 설계 5원칙Book/스프링 입문을 위한 자바 객체지향의 원리와 이해 2022. 1. 2. 23:52
사실 클린 코드책에서도 언급되었던 내용이었지만 이 책에도 다시 나오는 만큼 중요한 개념이니 정리를 해보려고 한다. 이미 많은 블로그나 책에서 잘 정리 되어있지만 나의 언어로 다시 정리 해본다. 객체 지향이라는 개념을 어떻게 잘 요리할 수 있지? 라는 의문이 들 수 있다. 일명 SOLID라는 5원칙은 그에 대한 해답을 준다. 1. SRP - 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. 본격적으로 설명하기 전에 작성한 코드를 보자 public class Book { final static Boolean korBook = true; final static Boolean engBook = false; Boolean language; void translate(){ if(this...