본문 바로가기

programming study/TypeScript

TypeScript(5)

본 내용은 Nomad Coders - TypeScript로 블록체인 만들기 강의를 토대로 작성하였습니다.

1. Classes

  • TypeScript에서는 객체 지향 프로그래밍 키워드를 사용할 수 있음
    • JavaScript로 컴파일되며 해당 키워드들은 사라짐
    • 해당 키워드들은 TypeScript에서만 사용딤
    • ex) private, protected
  • TypeScript에서는 클래스를 Type으로 사용할 수 있음

접근 제어자 정리

구분선언한 클래스 내상속받은 클래스 내인스턴스

private 접근 가능 접근 불가 접근 불가
protected 접근 가능 접근 가능 접근 불가
public 접근 가능 접근 가능 접근 가능

추상 클래스

  • 다른 클래스가 상속 받을 수 있는 클래스
  • 추상 클래스는 인스턴스를 만들 수 없음

추상 메소드

  • 추상 클래스를 상속받는 클래스들이 반드시 구현(Implement)해야하는 메서드
  • Call Signiture만을 가짐

인스턴스

  • 클래스가 new 생성자로 인해 만들어져 구현된 실체

2. 클래스 예시(TypeScript Vs. JavaScript)

TypeScript

abstract class Animal {
   constructor(
       private kind: string,
       private gender: string,
       protected name: string,
  ) {}
​
   abstract cry(): void;
}
​
class Cat extends Animal {
​
   cry() {
       console.log('야옹');
  }
}
​
const siru = new Cat('cat', 'female', 'siru');

JavaScript

  • 위와 같은 클래스는 JavaScript에서 아래와 같이 컴파일링 됨
"use strict";
class Animal {
   constructor(kind, gender, name) {
       this.kind = kind;
       this.gender = gender;
       this.name = name;
  }
}
class Cat extends Animal {
   cry() {
       console.log('야옹');
  }
}
const siru = new Cat('cat', 'female', 'siru')

Reference

Nomad Coders - TypeScript로 블록체인 만들기

'programming study > TypeScript' 카테고리의 다른 글

TypeScript(7)  (0) 2022.09.02
TypeScript(6)  (0) 2022.08.31
TypeScript(4)  (0) 2022.08.28
TypeScript(3)  (0) 2022.08.26
TypeScript(2)  (0) 2022.08.25