스테이트 패턴을 이용하면 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있습니다.
마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있습니다.




사용자 삽입 이미지
 
사용자 삽입 이미지

스테이트 패턴

스테이트 패턴을 이용하면 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있습니다.
마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있습니다.


스테이트 패턴을 사용하면,
if 문이나 switch-case 문을 사용하지않고도 얼마든지 상태제어를 할 수 있습니다.
(객체구성을 사용한 상태제어)
코드를 보면 제어문이 하나도 없죠.

위 코드는 상태가 2개밖에 없지만(보통상태, 쓰러진상태)...
상태가 많을수록 스테이트 패턴의 효과가 좋겠군요.
상태가 적으면 그냥 일반 제어문을 사용하는게 좋겠습니다.

Comment List

  1. BlogIcon ㅎㅎㅎ 애기오리
    2008.09.26 02:54 신고
    공부하고 만들어봤던 패턴중에서 이 패턴이 제일 재미있는듯 ^^;;
  2. BlogIcon coco.k
    2009.01.02 09:03 신고
    미쉘린님 상당히 도움 많이 받고 있습니다 ^^;; 내 블로그로 디자인 패턴 부분을 퍼갈수 있는 방법 없을까요???
    • BlogIcon ㅎㅎㅎ 애기오리
      2009.01.06 22:00 신고
      부족한 제 블로그에 방문해주셔서 감사합니다 ^^
      디자인패턴 내용이 이 외에도 많은데
      종종 포스팅하도록 하겠습니다 ^^

      퍼가는 방법은 제가 따로 막아놓은 게 없어서
      (마우스 우클릭등~~)

      소스 복사하시고 이미지도 복사하시면 될듯 합니다만 ^^
  3. BlogIcon 마술potato
    2009.02.05 11:28 신고
    안녕하세요~
    UML에 사용된 툴 이름좀 알수 있을까요? =)
    • BlogIcon ㅎㅎㅎ 애기오리
      2009.02.05 11:38 신고
      아 이것은 비주얼 스튜디오 2008 의 기능중 하나입니다.
      2008 부터는 C++ 에서 UML 클래스 다이어그램을 그리는 기능이 있습니다. (C# 은 2005 부터 이미 지원)
      [솔루션 탐색기] 에 추가되어있지요 ^^;
  4. BlogIcon 마술potato
    2009.02.18 17:49 신고
    오오 그렇군요 ㅇ_ㅇ
    감사합니다 ^^
  5. 이승철
    2010.01.07 12:49 신고
    코딩 실력이 장난 아니시네요

    부럽습니다.

    많은 도움된것같습니다.
  6. 공간
    2010.07.26 13:10 신고
    와~ 감사합니다. 열심히 공부해 봐야겠어요^^
  7. 박상열
    2012.09.23 01:23 신고
    푸렌 블로그 다시 안하니??
  8. BennyKulka20
    2013.12.29 21:03 신고
    I noticed that it's hard to find your website in google, i found it on 18th spot, you should build some quality backlinks to rank it in google and increase traffic. I had the same problem with my site, your should search in google for - k2 seo services - it helped me a lot

Leave a Comment