[JS] OOP와 Prototype

Byron·2021년 3월 2일
0

JS

목록 보기
5/5

OOP(Object Oriented Programming)가 무엇인가?

OOP는 객체 지향적 프로그래밍을 말한다.
이는 데이터가 객체 내에 캡슐화되고, 구성 요소 부분이 아닌 객체 자체가 운용되는 프로그래밍 방식이다.

OOP의 특성은 무엇인가?

  1. 캡슐화
    데이터와 기능을 하나로 묶는다.
    동작만 노출시키고 정보를 은닉할 수 있고, 언제든 그 기능을 수정할 수 있다.

  2. 상속
    기본 클래스의 특징을 파생 클래스가 상속받는다.

  3. 추상화
    불필요한 정보는 숨기고 중요한 정보만을 표현해서 프로그램을 간단히 만든다.
    ex)전화기를 사용할 때 복잡한 내부 구조는 보여지지 않는다.

  4. 다형성
    같은 메소드라도 다른 방식으로 구현할 수 있다.
    ex)

JavaScript에서 Prototype은 무엇이고 왜 사용해야 하는지?

JS에서 원시타입을 제외한 모든 것은 객체(Object)이다. (따라서 모든 function(객체)에는 prototype이 있다)
객체는 자신을 만들 때 사용된 원형인 프로토타입 객체를 이용하여 객체를 만든다.
(모든 객체는 object를 상속받기에 object.proto에 달린 메소드들을 사용할 수 있다.)

이를 통해 상속의 개념을 구현할 수 있기에 사용해야 하는 것이다. (부모의 프로토타입은 자식의 프로토이다.)

profile
step by step

0개의 댓글