
어떤 대상의 구성과 동작 원리, 구성 요소간의 관계 및 시스템 외부환경과의 관계를설명하는 하나의 설명서이다.간단히 말해서 시스템의 설계 및 동작하는 방식이라고 이해할 수 있다. 아키텍처의 예시이다. 여러 애플리케이션으로 구성되어있고각각의 요소들이 무엇이 있는지 보여준다
목적이 같은 코드들을 계층으로 그룹화 하는 것

필자는 꼭 직접 정리를 해야 머리에 잘 들어오는 타입이라 작성한 네트워크 관련 정리 글약간의 간소화가 된 부분도 있고 구체적인 설명이 추가된 부분도 존재한다.컴퓨터 간의 통신은 인터넷을 통해서 이루어진다.해저 광케이블, 인공위성을 통해 유무선 통신을 구축하고 이를 통해

객체지향 소프트웨어는 실세계의 투영이다. 객체란 현실세계에 존재하는 사물에 대한 추상화이다. 하지맘ㄴ 현실세계와 사물 사이에 존재한느 연관성을 찾기란 힘들다. 소프트웨어 개발자는 실세계를 단순히 소프트웨어 안으로 옮겨담는 것이 아니다. 곡개과 사용자를 만족시킬 수

현실세계의 모든 것은 복잡하며 예측 불가능하다.우리는 현실에 존재하는 모든 것과 상호작용하기 위해서 현실을 이해해야한다.이런 복잡성을 전부 받아드리는 것은 불가능하기에현실을 이해하기 쉽고 예측 가능하도록 분해하고 단순화 해야한다.이러한 과정을 추상화라고 한다.(ex 해

객체에게 책임을 부여할 때 그 책임의 수준은 너무 구체적이어서도 안되고 너무 추상적이어서도 안된다. 추상적일수록 자유도는 올라가지만 의도가 명확하게 표현되지 못할 수도 있고 구체적일수록 자유도는 낮아지지만 의도가 명확하게 표현될 수 있다. 즉 우리는 책임을 협력에