[JS]객체 지향 프로그래밍

jsha·2022년 7월 22일
0

JavaScript

목록 보기
4/6

💡객체 지향 프로그래밍(Object Oriented Programming)이란?

데이터와 기능이 별개로 취급되지 않고, 한 번에 묶여서 처리하는 것이 가능

  • OOP는 프로그램 설계 철학 중 하나이다.
  • OOP는 객체로 그룹화된다.
  • 이 객체는 한번 만들고 나면, 메모리상에서 반환되기 전까지 객체 내의 모든 것이 유지된다.

크게 네 가지 기본적인 개념이 있다.

💡OOP Basic Concepts

  1. 캡슐화 Encapsulation
  • 데이터와 기능을 하나의 단위로 묶는 것
  • 은닉(hiding) : 구현은 숨기고, 동작은 노출시킴
  • 느슨한 결합(Loose Coupling)에 유리: 언제든 구현을 수정할 수 있음
  1. 추상화 Abstraction
    내부 구현은 아주 복잡하지만 실제로 노출되는 부분은 단순하게 만든다는 개념
    너무 많은 기능들이 노출되지 않은 덕분에 예기치 못한 사용상의 변화가 일어나지 않도록 만들 수 있음.

  2. 상속 Inheritance
    부모 클래스의 특징을 자식 클래스가 물려받는 것
    더 자세하게는 기본 클래스(base class)의 특징을 파생 클래스(derived class)가 상속받는다라고 할 수 있다.

  3. 다형성 Polymorphism
    같은 이름을 가진 메서드라도 조금씩 다르게 작동한다.
    언어에서 다형성을 제공하지 않는다면, 기본 클래스에 종류별로 분기를 시켜서 하나하나 다르게 만들어야 한다.

0개의 댓글