🧐 🤔 그거 어떻게 쓰더라 🙄 😙

전략 패턴 Strategy Pattern

2024. 3. 19. Evergood Kim이가 씀

내가 이해한 게 맞다면;

이건 진짜 별 거 아니고

그냥 동작을 객체화한 것이다.

Car.move()를 수정하고 싶은데
Car.move()를 수정하면 안 되니까
Car.setHowToMove( HowToMove )를 만들어놓고
Car.move()에서는 HowToMove.move() 하는 게 해법이라고 하고 있다.

move를 수정하고 싶은데 move를 수정하면 안 된다니? 왜 이런 난리를 치느냐?

객체지향의 세계에서 동작은 객체의 내부에 착 붙어있는데(메서드); 변화의 바람은 바깥에서 불어오니까. 객체지향의 태생적 특징을 벗어나려고 발버둥치는 눈물겨운 똥꼬쑈!

두 번째로; 애초에 그 객체지향에서 메서드를 객체로 취급하지 않아서 (전제로조차 언급되지 않을 정도의 당연시) 문법적으로도 난리가 났다. "메서드 교체하기" 하나 하자고…. 자바의 장황함이란 이럴 때를 두고 하는 말이다.

사람들은 부랴부랴 함수를 대상으로 취급하기 시작했다. 요즘 나오는 언어들 보면 다들 함수가 일급객체라고 그런다.

728x90

카테고리 다른 글