객체지향 자바스크립트

개발빼-엠·2023년 1월 27일

Javascript

목록 보기
6/10
post-thumbnail

  • 메소드 호출 방식을 사용할 때는 화살표 함수를 사용하지 않는다! 화살표 함수 표현은 메소드 함수가 아닌 곳에 가장 적합하기 때문에 생성자로서 사용할 수 없다.
  • 객체지향 프로그래밍 하나의 class(청사진)을 만들고, 그 class를 바탕으로 한 인스턴스(객체)를 만드는 프로그래밍 패턴.자바스크립트는 객체지향언어는 아니지만 객체지향패턴으로 작성할 수 있다.
  • prototype? 모델의 청사진을 만들 때, 쓰이는 원형객체
  • constructor? 인스턴스가 초기화 될 때, 실행하는 생성자 함수
  • this? 함수가 실행될 때, 해당 scope 마다 생성되는 고유한 실행 context,new키워드로 인스턴스를 생성했을때는, 해당 인스턴스가 바로 this값이 된다.

객체지향프로그래밍의 주요 컨셉

1) 캡슐화(Encapsulation)

코드를 복잡하지 않게 만들고, 재사용성을 높인다.

-데이터의 기능을 하나로 묶는것

-은닉: 구현은 숨기고, 동작은 노출시킴

-느슨한 결합에 유리: 언제든 구현을 수정할 수 있음

2) 추상화(Abstration)

코드를 복잡하지 않게 만들고, 단순화된 사용으로 인해 변화에 대한 영향을 최소화 한다.

내부구현은 아주 복잡한데, 실제로 노출되는 부분은 단순하게 만든다는 개념인터페이스가 단순해지고, 너무 많은 기능들이 노출되지않아 예기치 못한 사용상의 변화가 일어나지 않도록 만들 수 있다.

3) 상속(Inheritance)

불필요한 코드를 줄여 재사용성을 높인다.부모클래스의 특징을 자식클래스가 물려받는것이다.

"기본클래스(base class)의 특징을 파생클래스(derive class)가 상속받는다"

4) 다형성(Polymorphism)

동일한 메소드에 대해 if / else if 와 같은 조건문 대신 객체의 특성에 맞게 달리 작성하는 것이 가능해진다.

다양한 형태를 가질 수 있다.

0개의 댓글