'TypeScript' Interface & Class

정재빈·2022년 12월 16일

TypeScript

목록 보기
2/3

인터페이스

중복되는 객체 타입을 하나로 만들어서 사용 가능

  • 작성중인 코드에 대한 더 많은 정보를 타입스크립트에 제공하기 위해 사용
  • 첫 글자를 대문자로 표기, 웬만해서 첫 글자에 'I'를 사용하지 않음
interface 인터페이스이름 {
	속성이름: 속성타입;
}

Type Alias vs Interface

선언 방식

  • type(객체뿐 아니라 union도 가능)

  • interface(객체만 가능)

구현(implements)

  • type

  • interface

선언적 확장

동일한 이름으로 재선언할 경우 자동으로 하나로 합쳐짐

  • type(선언적 확장 불가능)
type 새로운이름 = 기존 이름 & {새로운 속성};

-interface(선언적 확장 가능) - 기존 속성과 새로운 속성이 합쳐

상속(extends)

-interface

클래스

클래스 선언문

class 클래스이름 {
	속성이름: 속성타입;
}

생성자

  • constructor() 메서드

접근제한자

속성 이름 앞에 public, private, protected를 붙일 수 있음

  1. private는 get, set으로 밖에서도 사용 가능
  2. 속성 앞에 '_'가 붙어있으면 private이라는 뜻
  3. 생략 시, public으로 적용

인터페이스 구현

인터페이스 내부에 함수를 입력할 수 있지만, 함수의 작업 코드는 클래스에서만 작성해야 한다

추상 클래스

완전하게 구현되어 있지 않은 매서드를 갖는 클래스

abstract class 클래스이름 {
  속성이름: 속성타입;
  abstract 매서드이름(){}
}

  • 추상 메서드 1개 이상은 반드시 있어야 한다
  • 추상 클래스는 메서드가 미완성이기 때문에 객체를 생성할 수 없음


profile
프론트엔드

0개의 댓글