디자인패턴 - 1 전략패턴(Strategy Pattern)

basic

학습목표

  • 인터페이스 개념을 이해한다.
  • 델리게이트 개념을 이해한다.
  • 전략 패턴(Strategy Pattern) 개념을 이해한다.

인터페이스

키보드나 디스플레이 따위처럼 사람과 컴퓨터를 연결하는 장치 (접점)

자바에서의 인터페이스

  • 기능에 대한 선언과 구현 분리
  • 기능을 사용하는 통로

델리게이트

  • 위임하다

전략 패턴 (Strategy Pattern)

여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근 점에서 서로 교환 가능 하도록 하는 패턴

예제

  • 신작 게임에서 케릭터와 무기를 구현해보세요
  • 무기는 두가지 종류가 있습니다.

유지보수 요청

  • 도끼를 추가해주세요.

정리

컴퓨터로 예를 들어보자면 본체에는 USB형태를 꽂을수 있는 포트가 있다. 여기에는 마우스, 키보드, 외장메모리 등 많은 걸 꽂을 수 있다. 포트가 USB인 것들 말이다.

위와 같이 한가지의 형태를 기반으로 기능이 완전 다른걸 사용할 수 있다. 마치 다형성과 비슷하다고 생각한다.

효준's profile image

효준

2019-04-19 13:00

다른글 보러가기

필수 자료구조

이전 포스트

비동기식 프로그래밍에서 Call stack이 동기식 프로그램의 그것과 다른 이유는?

다음 포스트