728x90
타입스크립트의 객체 지향
자바스크립트는 전통적인 객체 지향 프로그래밍 언어에서 기대할 수 있는 일부 기능을 지원하지 않는다.
이런 제약을 타입스크립트가 private과 같은 접근 제어자나 추상 클래스, 추상 메서드 같은 기능을 지원하면서 해결해준다.
점진적 타이핑, 구조적 타이핑, 덕 타이핑이 결합한 언어로 이를 바탕으로 객체 지향의 폭을 넓혀준다.
- 점진적 타이핑 : 프로그램 전체가 아닌 개발자가 명시한 일부분만 정적 타입 검사를 거치게 함
- 덕 타이핑 : 객체의 변수와 메서드 지합이 객체의 타입을 결정하게 해줌
- 구조적 타이핑 : 객체의 속성에 해당하는 특정 타입의 속성을 갖는지를 검사하여 타입 호완성을 결정함
객체 지향의 관점에서 타입스크립트가 프론트엔드에 주는 이점
- 타입스크립트는 prop을 인터페이스로 정의할 수 있다.
객체 지향 패러다임에서는 객체 간의 협력 관계에 초점을 둔다. 컴포넌트 간의 협력 관게를 표현하는 것이 prop이다. 또한 객체 자체가 아니라 프레임워크에 의해 객체의 의존성이 주입되는 DI 패턴을 따르는데, 이러한 패턴을 더욱 명확하게 표현할 수 있는게 타입스크립트다. - 타입스크립트 자체가 객체 지향적으로 다양한 측면을 표현하는 데 큰 장점을 가지고 있다.
(점진적 타이핑, 구조적 타이핑, 덕 타이핑)
우아한형제들의 활용 방식
- 온전히 레이아웃만 담당하는 컴포넌트 영역
- 컴포넌트 영역 위에서 레이아웃과 비지니스 로직을 연결해주는 커스텀 훅 영역
- 훅 영역 위에서 객체로서 상호 협력하는 모델 영역
- 모델 영역 위에서 API를 해석하여 모델로 전달하는 API 레이어 영역
객체 지향의 패러다임에 매몰되기보다는 어떻게 하면 더 유기적인 협력관게를 만들어낼 수 있는지에 대한 고민을 하는 것이 중요하다.
'독서' 카테고리의 다른 글
우아한 타입스크립트 with React -12장 프로젝트 관리 (0) | 2024.03.25 |
---|---|
우아한 타입스크립트 with React -11장 CSS-in-JS (0) | 2024.03.24 |
우아한 타입스크립트 with React -10장 상태 관리 (0) | 2024.03.17 |
우아한 타입스크립트 with React - 9장 훅 (0) | 2024.03.14 |
우아한 타입스크립트 with React -8장 JSX에서 TSX로 - 2 (0) | 2024.03.09 |