TypeScript Tutorial.13

ansunny1170·2022년 5월 31일
0

w3schools.TS Tutorial

목록 보기
13/18
post-thumbnail

TS Classes

TS는 JS 클래스에 타입 및 가시성 수정자를 추가한다.

여기에서 JS 클래스에 대해 자세히 알아보자.

Members: Types

클래스의 멤버(속성 및 메서드)는 변수와 유사한 타입 (Annotations)주석을 사용하여 타입이 지정됩니다.

Members: Visibility

클래스 멤버는 가시성에 영향을 주는 특수 수정자도 제공된다.

TS에는 세 가지 주요 가시성 수정자가 있다.

  • public - (기본값) 어디에서나 클래스 멤버에 대한 액세스를 허용한다.
  • private - 클래스 내에서만 클래스 멤버에 대한 액세스를 허용한다.
  • protected - 아래 상속 섹션에서 설명하는 자신과 이를 상속하는 모든 클래스에서 클래스 멤버에 대한 액세스를 허용한다.

클래스의 this 키워드는 일반적으로 클래스의 인스턴스를 나타낸다. 여기에서 자세히 읽어보자.

Parameter Properties

TS는 매개변수에 가시성 수정자를 추가하여 Constructor에서 클래스 멤버를 정의하는 편리한 방법을 제공한다.

Readonly

배열과 유사하게, readonly 키워드는 클래스 멤버가 변경되는 것을 방지할 수 있다.

Inheritance: Implements

인터페이스(여기에서 다룸)는 클래스가 implements 키워드를 통해 따라야 하는 타입을 정의하는 데 사용할 수 있다.

클래스는 다음과 같이 쉼표로 구분된 implements 후 각 인터페이스를 나열하여 여러 인터페이스를 구현할 수 있다. class Rectangle implements Shape, Colored {

Inheritance: Extends

클래스는 extends 키워드를 통해 서로 확장할 수 있다. 하나의 클래스는 다른 클래스 하나만 확장할 수 있다.

Override

클래스가 다른 클래스를 확장하면 상위 클래스의 멤버를 같은 이름으로 바꿀 수 있다.

최신 버전의 TS에서는 이것을 override 키워드로 명시적으로 표시할 수 있다.

기본적으로 override 키워드는 메서드를 재정의할 때 선택 사항이며 존재하지 않는 메서드를 실수로 재정의하는 것을 방지하는 데만 도움이 된다. 재정의할 때 강제로 사용하려면 noImplicitOverride 설정을 사용한다.

Abstract Classes

모든 멤버를 구현하지 않고도 다른 클래스의 기본 클래스로 사용할 수 있도록 클래스를 작성할 수 있다. 이것은 abstract 키워드를 사용하여 수행된다. 구현되지 않은 상태로 남아 있는 멤버도 abstract 키워드를 사용한다.

Abstract(추상) 클래스는 모든 구성원이 구현되어 있지 않기 때문에 직접 인스턴스화할 수 없다.

profile
공정 설비 개발/연구원에서 웹 서비스 개발자로 경력 이전하였습니다. Node.js 백엔드 기반 풀스택 개발자를 목표로 하고 있습니다.

0개의 댓글