티스토리 뷰

1. 타입스크립트와 객체지향

타입스크립트는 자바스크립트에 타입이 더해진 언어로, 자바스크립트의 superset이다. 타입스크립트는 자바스크립트로 컴파일된다.

객체지향이란, 객체 위주로 설계하고 프로그래밍하는 패러다임이다. 객체지향에서의 객체는 현실에 있는 것을 추상화한 것이라고 볼 수 있다. (추상이란? 사물이 지니고 있는 여러 측면 중 특정한 부분만 보는 것을 말한다. 지구본이나 지도는 실제의 지구를 추상화한 결과물이다.) 객체지향에서 각각의 객체는 서로 의사소통할 수 있다.

1-1. 절차지향과의 차이점

🧶 절차지향

데이터와 함수 위주로 구성되어있다. 그러나 그러한 함수와 데이터가 엉켜있어 사이드 이펙트 발생확률이 높아진다. 즉, 유지와 확장이 어렵다.

🎁 객체지향

프로그램을 객체로 정의하여 객체들끼리 소통한다. 따라서 생산성이 높고, 유지보수와 문제해결을 하기 쉽다.


※ 그러나 패러다임에는 우위가 없다는 점을 유의하자. 절차지향보다 객체지향이 무조건 더 좋은 것은 아니다. 만들어야 하는 프로그램에 따라 절차지향이 적합한 경우도 있다. (비교적 간단한 프로그램일 경우 절차지향이 더 적절하고 직관적이다.) 객체지향은 객체간 통신을 하기 때문에 흐름이 직관적이라 더 복잡한 프로그램에 적합하다.

2. 객체지향의 특징

객체지향에는 4가지 원칙이 있다.

2-1. 💊 캡슐화

흩어져있는 데이터, 함수 중 관련있는 것끼리 묶고, 외부에서 볼 필요가 없는 데이터는 숨기는 것

  • private, protected와 같은 키워드를 사용하여 비공개 멤버를 만들 수도 있다.

2-2. 📜 추상화

내부 구조를 몰라도 외부에서 인터페이스를 통해 사용할 수 있는 것.

  • implements라는 키워드로 interface임을 나타낼 수 있다.

2-3. 👩‍👧‍👧 상속

한 번 정의해둔 class를 재사용 할 수 있다.

extends라는 클래스를 사용해서 상속할 수 있다.

2-4. 💧 다형성

상속을 통해 만들어진 객체를 구분하지 않고 공통된 API를 호출할 수 있다

'코딩 > 자바스크립트' 카테고리의 다른 글

쓰로틀링(Throttling)과 디바운싱(Debouncing)  (1) 2021.02.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함