These two terms are often mentioned in the relevant industry, but few know exactly.
이 두 용어는 관련 업계에서 자주 언급되지만 정확히 아는 사람은 드물다.
In the 1970s, software complexity emerged.
1970년대에 들어서면서 소프트웨어의 복잡도가 대두되었다.
As the software code becomes larger, it becomes more difficult to manage.
소프트웨어 코드가 방대해짐에 따라 관리하기가 어려워진 것이다.
Various attempts have been made to properly control this, and reached the conclusion that the code should be structured.
이를 적절히 통제하고자 다양한 시도 있었고, 그 결과 코드의 구조화라는 결론에 이르게 된다.
In other words, the code should be arranged according to the rule.
쉽게 말하면 코드를 기준에 따라 정리정돈 한다는 것이다.
In this background, Module and Component that are code structuring methods have emerged.
이러한 배경에서 모듈과 컴포넌트라는 코드 구조화 방식이 탄생했다.
Conceptual scope: Component ⊂ module
개념상의 범위: 컴포넌트 ⊂ 모듈
Module basically refers to a "collection of code that can be reused(recycled)".
모듈은 기본적으로, "재사용(재활용)이 가능한 코드의 모음"을 가리킨다.
It can be called module, if it shows a structural view that can be reused.
재사용이 가능할 정도의 구조적인 모습을 보이면 모듈이라고 할 수 있다.
Likewise, components is categorized into module and also can be reused.
마찬가지로 컴포넌트도 모듈에 범주에 들어가며 재사용될 수 있다.
The main distinction between modules and components is the degree of "independence".
모듈과 컴포넌트의 구분 짓는 주요한 차이는 "독립성"의 정도이다.
Component has the interface for executing
컴포넌트는 구동시키기 위한 인터페이스가 존재한다.
Having an interface means that if you only know how to use the interface, you can use it without having to open or modify it.
인터페이스가 있다는 것은, 인터페이스의 사용법만 숙지한다면 내부를 열어보거나 수정하지 않아도 사용할 수 있다는 의미이며, 이를 보고 "독립성"이 강하다고 말한다.
Modules in non-component areas may not be available outside of the project area (because of the difficulty of using) because the interfaces are missing or weak.
컴포넌트가 아닌 영역의 모듈은 인터페이스가 없거나 미약하여, 해당 프로젝트 외부의 영역 외부에서는 (사용법이 까다롭기에) 활용하지 못하는 경우도 있다.
People usually think of small and various components being used in large modules, but not necessarily.
보통은 커다란 모듈에 작고 다양한 컴포넌트들이 사용되는 모습을 그리곤 하지만, 반드시 그래야 하는 하는 아니다.
The inside of a component can be divided into several modules.
하나의 컴포넌트의 내부는 여러 모듈로 구분될 수도 있다.
If you develop code that is neatly structured rather than rag-like, it becomes a component consisting of modules.
코드를 누더기식으로 작성하는 것이 아닌, 깔끔하게 구조를 갖추어 개발한다면, 그것이 모듈로 이루어진 컴포넌트가 되는 것이다.
Therefore, the size of the code can not distinguish the two, and the conceptual difference must be considered.
그러므로 코드의 규모로 이 둘을 구분할 수는 없으며, 개념상의 차이를 고려해야 한다.