💡 TypeScript 에서 인터페이스(interface)는 일반적으로 타입 체크를 위해서 사용된다. 변수, 함수, 클래스에 사용할 수 있다. 인터페이스는 프로퍼티와 메소드를 가질 수 있다는 점에서 클래스와 유사하나 클래스처럼 직접 인스턴스를 생성할 수 없고, 메소드는 추상 메소드다.

클래스 타입

interface Nine {
  eight: string;
  nine(val: string): number;
}
class NineClass implements Nine {
  constructor(public eight: string) {}
  //Nine인터페이스의 프로퍼티 nine 과 같은 이름이여야 한다.
  //파라미터의 이름은 같을 필요 없다.
  nine(val1: string) {
    return Number(val1);
  }
}

NineClass 는 Nine 인터페이스와 같아야 한다.