본문 바로가기
카테고리 없음

TIL

by Node.js 주니어 개발자 귤 2022. 12. 29.
  • 객체 지향이란?즉, 객체를 도출하고 각각의 역할을 정의하는 것에 초점을 맞춥니다.
  • 💡 객체 지향은 소프트웨어의 핵심을 기능이 아닌 객체로 삼으며 “누가 어떠한 일을 할 것인가?”에 초점을 맞춥니다.

 

  • 캡슐화 (Encapsulation)즉, 캡슐화를 사용하는 가장 큰 이유는 정보은닉을 목적으로 합니다.
  • 개념적이나 물리적으로 객체 내부의 세부적인 사항 감추는 것 캡슐화라고 부릅니다.

 

  • 상속 (Inheritance)즉, 하나의 클래스가 가진 **특징(함수, 변수 및 데이터)**을 다른 클래스가 그대로 물려 받는 것을 말합니다.
  • 💡 상속이란 이미 정의된 상위 클래스의 특징을 하위 클래스에서 물려받아 코드의 중복을 제거하고 코드 재사용성을 증대시킵니다.

 

  • 추상화 (Abstraction)즉, 불필요한 부분을 생략하고 객체 속성 중 공통적이고 중요한 것에만 중점을 두어 모델화 하는 것입니다.
  • 💡 객체에서 공통된 부분을 모아 상위 개념으로 새롭게 선언하는 것을 추상화라고 합니다.

 

  • 다형성 (Polymorphism)즉, 동일한 메소드의 이름을 사용하지만 메소드에 대해 클래스마다 다르게 구현되는 개념이 다형성입니다.
  • 💡 다형성이란 **객체(클래스)**가 연산을 수행하게 될 때 하나의 행위에 대해 각 객체가 가지고 있는 고유한 특성으로 다른 여러 형태로 재구성 되는 것을 말한다.

 

  • 의존성 (Dependency)
  • 💡 의존성이란 객체(모듈 및 클래스)들이 협력하는 과정 속에서 해당 객체들이 다른 객체를 의존하게 되는 정도를 나타냅니다.

 

  • 결합도 (Coupling)
  • 💡 결합도는 의존성의 정도를 나타내며 다른 모듈에 대해 얼마나 많은 의존성을 가지고 있는지를 나타냅니다.

 

  • 응집도 (Cohesion)
  • 💡 응집도는 모듈에 포함된 내부 요소들이 각각 연관되어 있는 관계의 정도를 나타냅니다.