ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 템플릿 메서드 패턴 and 팩토리 메서드 패턴
    CS 2023. 6. 25. 17:48

    <템플릿 메서드 패턴>

     

    전체적인 코드의 구조를 정하는 템플릿 메서드를 구현하고

    자주 변경되는 부분은 분리하여 하위 클래스에서 구현 및 수정이 가능하도록 하는 패턴

     

    상위 클래스에서 공통적으로 필요한 부분, 변하지 않는 부분은 정의해두어 기본적인 코드 알고리즘의 골격과 흐름은 짜여진 상태,

    그 구조 내 사용되는 메서드 중에는 훅 메소드(디폴트 값이 정해져있어 그대로 사용해도 되고 추후 수정해도 되는 것)

    또는 추상 메서드(메서드 이름 앞에 abstract를 붙이며 하위 클래스에서 반드시 오버라이딩 후 구현해야하는 메서드)가 들어있다.

     

    이처럼 코드의 구조가 잡혀 있는 메서드를 템플릿 메서드라고 한다. (마치 찍어내는 템플릿 같다.)

    이 패턴의 경우 코드의 구조를 보호하고 중복을 최소화하기 위한 용도로 사용하는 것 같다.

     

     

    <팩토리 메서드 패턴>

     

    객체 생성에 쓰이는 메서드를 상위 클래스에서 구현하고 객체를 어떻게 생성할 것인지는 하위 클래스에서 구현하는 패턴

     

    상위 클래스에서 하위 클래스에 사용할 인스턴스를 생성에 쓰이는 메서드를 선언한다

    이와 같은 메서드를 팩토리 메서드라 한다. (마치 생성해주는 공장 같다.)

    이는 즉, 하위 클래스에서 어떤 종류의 클래스를 사용한 인스턴스를 사용할 것인지를 상위의 클래스가 정해주는 셈이다.

    하위 클래스에서는 해당 메서드로 어떤 인스턴스를 생성할 것인지 직접 결정이 가능하다.

     

    결국 둘을 비교하자면

    템플릿 메서드 패턴은 팩토리 메서드 패턴과 다르게 하위클래스에서 구현할 메서드가 특정한 구조의 코드 알고리즘에 속해있다는 차이가 있는 것 같다.

     

    참고자료 출처:

    https://western-sky.tistory.com/40

    'CS' 카테고리의 다른 글

    객체의 동일성과 동등성  (0) 2023.07.28
    서버에서 '세션'이란?  (0) 2023.07.25
Designed by Tistory.