디자인 패턴 - 다형성 패턴

dragonappear·2021년 11월 27일
0

Design Pattern

목록 보기
4/5

Polymorphism(다형성) 패턴

객체의 타입에 따라 변하는 행동이 있다면 타입을 분리하고 변화하는 행동을 각 타입의 책임으로 할당하라

객체의 타입에 따라 변하는 로직이 있을때 변하는 로직을 담당할 책임을 어떻게 할당해야 할까?
타입을 명시적으로 정의하고 각 타입에 다형적으로 행동하는 책임을 할당하자

  • 조건에 따른 변화는 프로그램의 기본논리다. 프로그램을 if ~ else 또는 switch ~ case 등의 조건 논리를 사용해서 설계한다면 새로운 변화가 일어난 경우 조건 논리를 수정해야 한다.
  • 이것은 프로그램을 수정하기 어렵고 변경에 취약하게 만든다.
  • 다형성 패턴은 객체의 타입을 검사해서 타입에 따라 여러 대안들을 수행하는 조건적인 논리를 사용하지 말라고 경고한다.
  • 대신 다형성을 이용해 새로운 변화를 쉽게 확장하라고 권고한다.

출처

조용호, 『[eBook] 오브젝트』, 위키북스(2019), p158.

0개의 댓글