메뉴

문서정보

트레이드오프란 객체의 어느 한부분의 품질을 높이거나 낮추는게, 다른 부분의 품질을 높이거나 낮추는데 영향을 끼치는 상황을 이야기한다. 일반적으로 한쪽의 품질을 높이면, 다른쪽의 품질은 떨어지는 방향으로 흐른다.

소프트웨어 개발을 예로들어보자. 일반적으로 개발시간을 늘리면 제품의 완성도는 높아지겠지만, 개발시간이 늘어날 수록 비용이 증가하게 된다. 그러므로 시간과 비용을 비교해 가면서 최적의 타협점을 찾아내어야 한다. 이것을 트레이드오프라고 한다.

컴퓨터 과학에서는 space-time트레이드오프가 중요하게 취급된다. 메모리(:12)의 사용을 크게 하면 크게할 수록 프로그램이 빨리 작동하게 할 수 있겠지만 비용역시 크게 증가할 것이다. 반대로 메모리의 사용을 줄이고, 하드디스크의 사용을 늘리면 비용은 줄어들겠지만 프로그램은 점점더 느리게 작동할 것이다. 결국 프로그래머는 비용과 시간을 고려해서 적당한 타협점을 찾아내야 한다.