처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

프로그래밍에서 '스트래티지(Strategy) 패턴'과 '스테이트(State) 패턴'의 차이점으로 올바른 것은?

어려움 freeCodeCamp
보기 및 정답
A Strategy는 알고리즘을 외부에서 선택하여 교체하고, State는 내부 상태에 따라 객체의 행동이 자동으로 변경된다
B State 패턴은 Strategy 패턴의 하위 개념으로, 알고리즘 교체 기능에 상태 관리를 추가한 것이다
C Strategy 패턴은 내부적으로 상태를 저장할 수 없으며, 상태가 필요하면 반드시 State 패턴을 사용해야 하는 것이 일반적이다
D 두 패턴은 인터페이스의 구조와 구현 방식이 완전히 달라서 코드 수준에서도 쉽게 구분할 수 있다

해설

Strategy 패턴은 클라이언트가 런타임에 알고리즘(정렬 방식, 결제 수단 등)을 선택하여 주입합니다. State 패턴은 객체가 자신의 내부 상태에 따라 행동을 자동 전환합니다(문서: 초안→검토중→승인). 구조적으로 유사하지만 의도가 다릅니다: Strategy는 '어떻게', State는 '언제'에 초점을 둡니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기