알고리즘 교재를 보면 그래프, 스택, 큐 등등의 수 많은 자료형들이 등장하는데요
이러한 자료형을 추상화 시키는데 있어서
좋다고 알려진 어떠한 설계원칙이나 구조가 있을까요?
가령 그래프라는 자료형이 있을때
C언어에서 그래프를 트리 또는 배열 등으로 그래프를 표현 가능하잖아요
이 그래프를 배열로 표현하기로 했다면
이후 작성되는 모든 코드들은 배열참조로 그래프의 자료에 접근하게 될텐데
한참이 지난 후 몇가지 이유로 그래프의 표현을 배열에서 트리로 바꾸기로 결정한다면
해당 그래프를 다루는 많은 함수들의 코드의 변경이 필요하게 되잖아요
단지 자료형의 표현을 바꾸었다고 수 많은 코드들을 추적해서 수정한다는게 정말 작은 일이 아니고
어쩌면 이러한 자료형의 변경이 빈번하게 발생 할 수도 있을꺼 같기도 했구요