본문 바로가기

Java/공부공부

[자바기초] 컴포넌트와 모듈

 

* 컴포넌트 (Component)

 

 - 재사용 가능한, 독립적인 소프트웨어 단위 (각각 독립된 모듈)

 - 특정 기능을 수행하는 데 필요한 코드, 데이터, 인터페이스 등..

 - 높은 응집도 / 낮은 결합도를 가져 다른 컴포넌트와 독립적으로 테스트 및 배포할 수 있어야 함.

 

 

 

* 모듈 (Module)

 

 - 코드의 논리적이고 구성적인 부분.

 - 일반적으로 파일, 클래스, 함수 등과 같은 코드 구조를 지칭

 - 코드를 논리적인 블록으로 나누어 구성하고, 재사용 가능하게 만들기 위한 목적.

 

 

 

ex) 하나의 서버에서 세개의 클라이언트와 통신한다고 하면

 

               ---  Client 1

Server    ---  Client 2

               ---  Client 3

 

모듈의 갯수는 2개 (Server + Client)  _ 실제 구현된 것

컴포넌트의 갯수는 4개 (Server + Client 1, 2, 3) _ 동작하는 모듈의 수

 

 

https://www.youtube.com/watch?v=wc9KSPRDi3w

 


 

* 함수 : 특정 기능을 하는 가장 작은 단위.

* 클래스 : 변수와 함수들을 포함하는 특정 기능들의 집합.

* 객체 : 정의된 클래스명으로 선언하면 만들어지는 것.

 

프로그램으로 운영체제에서 실행되는 순간을 인스턴스화 되었다고 함. (메모리에 올라오는 순간)

 

* 모듈 : 특정한 기능(함수)들의 집합.

* 패키지 : 여러가지 모듈들의 모음.

 

패키지를 선언하고 모듈을 가져와 사용함. (함수를 호출해서 사용하는 것.)

 

* 컴포넌트 : 특정한 기능들의 모음(여러 패키지들), 재사용이 가능하며 독립적으로 실행될 수 있는 것들의 단위.

 

이를 활용한 개발 방식이

CBD (Component Based Development)

 

다른 프로그램 개발 시

재사용하기 위해서는 명세화 되어 있어야하고, 호출을 위한 인터페이스 필요.

 

이러한 인터페이스가

API (Application Programming Interface)

 

외부 개발자도 사용할 수 있도록 공개된 것이

OpenAPI 

=> URL, API의 호출 URI, 파라미터, 응답값에 대한 정의들을 공개.

 

 

 

https://wikidocs.net/111002

 

3.3.0. 함수 클래스 모듈 객체 인스턴스 컴포넌트 API

영상으로 보시면 더 편하게 이해하실 수 있습니다~ 프로그램을 만든다 라는 것은 특정 기능을 개발한다입니다. 특정 기능이라고 하면 가장 작은 단위는 함수입니다. 함…

wikidocs.net