🚀 **이 문서는 보다 쉽게 이해할 수 있도록 정리되었습니다.**
Component Based Development 방법론이다. 개발 방법론은 여러가지가 있다. 컴포넌트 기반으로 개발을 한다는 것이다. 컴포넌트는 무엇일까?
프로그램의 기본 단위는 함수라고 할 수 있다. 함수도 어떤 기능을 한다. 모듈이 있다. 모듈도 기능을 하는 것인데, 함수들의 집합이다. 함수들이 어떤 순서로 동작이 되면서 기능을 하는 것이다. 모듈은 꽤 큰 기능을 표현할 때 사용한다. 결제 모듈, 화면 모듈 서버 모듈, 이런식의 표현을 사용쓴다. 그리고 모듈들을 여러개 모이되 주제를 기반으로 모인 것을 컴포넌트라고 한다.
컴포넌트는 꽤 큰 주제인데, 이 아래 여러개의 모듈이 있을 수 있다. 컴포넌트 베이스 개발 방법론의 취지는 주제별로 독립적으로 개발을 하고 서로 다른 컴포넌트 간의 상관 관계를 줄이자는 취지이다. 컴포넌트간에 연관이 없을 수는 없다. 소위 말하는 Loosely Coupled 이다. 연관관계를 줄이는 것이다.
왜 연관관계를 줄이려고 할까요?
프로그램에서 모듈간의 연관관계가 가지는 의미는 연관이 많이 되어 있다는 것은 한 모듈을 수정했을 때 연관되어 있는 모듈에 영향을 미칠 확률이 높아진다는 의미이다. 그리고 독립적이지 못하다는 것이죠. 독립적이지 못하다는 것은 디펜던시가 있다는 것인데, 타 모듈과 연동시 또다른 고려사항이 생길 경우가 많아진다는 의미이다. 그래서 최대한 그 모듈이 스스로 동작될 수 있도록 하는 것이 좋고, 영향도를 줄이는 것이다. 그럼으로써 컴포넌트가 다른 곳에서도 사용이 용이하게 해주는 것이다.
컴포넌트 개발 방법론의 철학 정도이고, 컴포넌트 개발방법론은 이렇게 컴포넌트를 기준으로 개발을 하고, 최대한 모듈화하고, 컴포넌트 하는 것이다. 재사용성을 높이고, 유지보수성을 높이자는 차원이다.
개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한
IT기업 기술 면접을 위한 CS + 면접 노하우 PDF
[https://kmong.com/self-marketing/539751/LUA54VnQsP](https://kmong.com/self-marketing/539751/LUA54VnQsP)
자주 나오는 CS 질문과 답변 그리고 100번 이상 면접관으로 참여하면서 느꼈던
면접자가 알아야 할 팁 13가지 포함
백엔드 개발자를 위한 클라우드 강의, AWS
[https://inf.run/o1NX](https://inf.run/o1NX)
이제는 비전공자도, 일반이도 개발할 수 있다.
ChatGPT를 이용한 누구나 앱개발 with 알렉
[https://inf.run/rpX4](https://inf.run/rpX4)
백엔드 직접 번역한 도서
[https://www.yes24.com/Product/Goods/122536127](https://www.yes24.com/Product/Goods/122536127)
IT기술의 거의 모든 것을 다루는 기술노트with알렉 유투브
[https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89](https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89)