Skip to content

Latest commit

 

History

History
27 lines (22 loc) · 2.09 KB

component.md

File metadata and controls

27 lines (22 loc) · 2.09 KB

Component

Component 개념 유래

소프트웨어는 독집적으로 개발하지 않고, 독립적으로 개발하여도 다른 모듈과의 호환을 생각하지 않고 개발하여
결국 소프트웨어의 재사용을 어렵게 하고 유지보수 비용이 크게 증가하는 원인이 된다.
이러한 상황에서 소프트웨어의 재사용의 중요성을 위해 나온 기술이 컴포넌트(component)기술이다.

컴포넌트는 재사용이 가능한 최소 단위

  • 하드웨어처럼 독립적인 기능을 수행하고 추후에 교환될 수 있도록 해야한다.
  • 컴포넌트의 세부사항은 겉으로 드러나선 안되는것 일부러 끄집어 내려는 시도조차 하지 말아야 한다.
  • 필요한것은 단지 해당 컴포넌트를 쓰기 위해 제공해주는 일종의 '장치(method)'가 필요하다.

    예를들어서, 스마트폰의 배터리 수명이 다했을 경우 배터리를 새로 구입하여,
    스마트폰에서 배터리만 교체했을 것이다.
    이때 스마트폰 단자와 밧데리 단자가 맞물려야 제 기능을 발휘하는데 이때 배터리 단자가 앞서 말했던 일종의 '장치'가 된다.

객체지향 언어에서의 컴포넌트

객체지향 언어에서는 이러한 장치를 인터페이스(interface)로 제공해준다.

인터페이스(interface)

  • 사용자에게 해당 소프트웨어를 쓰기위한 메서드(method)를 공개
  • 규격화된 메서드 환경에서 소프트웨어를 개발할 수 있는 환경을 제공해준다.

소프트웨어의 세부내용은 인터페이스를 구현받은 클래스가 작성한다.

이러하여 객체지향 개념은 정보은닉개념을 수행할 수 있을 뿐더러, 각각 독립된 모듈로 소프트웨어를 만들수 있게 된다.

결론

컴포넌트는 재사용이 가능한 최소 단위를 뜻하며, OOP 언어등의 class등의 개념과는 다르다.
하나의 컴포넌트는 하나의 클래스로만 작성될 수도 있지만, 여러 개의 클래스로도 작성될 수 있기 때문이다.