# Develop or Testing/개발 참고용
몽키패치(Monkey patch)란?
Artifex_Ethan_
2020. 4. 17. 22:08
반응형
*몽키패치(Monkey Patch) : |
몽키패치란 |
일반적으로 런타임 중인 프로그램 메모리의 소스 내용을 직접 바꾸는 것이다. |
몽키패치의 어원을 찾아보았는데 이게 상당히 재밌다. |
원래 "게릴라 패치" 였는데 (guerrilla patch) |
발음의 유사성 때문에 사람들이 "고릴라 패치" 라고 쓰기 시작했다. (gorilla patch) |
근데 "고릴라" 라고 하면 좀 무섭고 위험하게 들리므로 (CEO 에게) |
고릴라보다 덩치가 작은 "원숭이 패치" 로 부르게 됐다고 한다. (monkey Patch) |
프로그램을 확장하거나, 로컬 시스템 소프트웨어를 지원하고 수정하는 방법이다.(그냥 런타임 중 코드를 수정한다는 의미) - 오직 실행중인 프로그램의 인스턴스에 영향을 미친다. |
+ 런타임상에서 함수, 메서드, 속성을 바꾸는 것을 말한다. |
코드가 없는 서드파티 제품을 사용하는 중 기능을 변경하거나 확장 등을 위해 사용하며, 런타임 실행중 메모리상의 오브젝트에 적용된다. |
(C#,Swift의 경우 기능변경은 불가하지만, 확장은 가능하도록 설계했다.) |
일반적으로 개발자들 사이에서 몽키패치는 안티패턴으로 인식된다고 한다. |
반응형