이 포스트는 널널한 개발자님 강의를 참조하여 작성한 포스트입니다.
IT 기술에 대해 공부를 하다 보면 흔히 보는 그림들이 Layer이다. 어떤 Layer가 있고 그것이 Layered 구조를 갖는다. 즉, 계층적 구조를 갖는다.
위의 그림의 네모 1개를 요소로 본다고 하면 이 요소들을 도식화할때 계층적으로 층져서 그릴 때가 있다. 예를 들어서 아파트를 볼때 아파트 1층이 있고 그 위에 2층이 존재한다. 이렇게 Layered 구조로 무언가를 나열한다는 것, 도식화를 한다는 것은 어떤 구성요소들 간에 관계를 표현하기 위해 도식화를 통해 우리의 이해를 많이 돕곤 한다. 어떤 이해나 설계에 대해 설명을 할때 어떤 시스템이 이루는 요소가 무엇인지 정의하고 그 요소들간에 관계를 규정하는 것이 설계를 한다고 말한다.
위의 그림처럼 4층은 3층에대해 의존적이다. 이 의존적인 것도 범위가 있는데 그 범위가 무엇이냐면 어떤 행위나 기능에 대해 의존적일 수 있다는 것이다. 만약 우리가 출근이나 등교를 할때 교통수단을 반드시 지하철만 타야만 갈 수 있다면 출근이나 등교 행위에 대해 지하철은 의존적이다. 근데 이 의존이 정말 심해지면 존립 자체에 대해 의존적일 수 있다. 즉, 아파트에서 3층이 없다면 4층은 존재할 수가 없다. 예를 들어 내가 대학교 전문학사를 마쳤다는 말은 고등학교, 중학교, 초등학교를 졸업했다는 전제가 된다는 것이다. 즉, '4층은 3층에 의존적이다'를 '3층은 4층에 대한 전제조건'이다라고 표현이 가능하다.