
interface CharacterInterface {
name: string;
moveSpeed: number;
move(): void;
}
class Character {
}
CharacterInterface 인터페이스가 정의하는 타입의 객체를 Character 클래스가 생성하도록 정의 가능implements 이다.implements는 구현하다 라는 뜻
class Character implements CharacterInterface{}즉, 위 코드에서 의미하는 것은 "
Character클래스는CharacterInterface를 구현한다" 라는 뜻으로 해석할 수 있다.
interface CharacterInterface {
name: string;
moveSpeed: number;
move(): void;
}
class Character implements CharacterInterface {
name: string;
moveSpeed: number;
constructor(name: string, moveSpeed: number) {
this.name = name;
this.moveSpeed = moveSpeed;
}
move= () => {
console.log(`${this.moveSpeed}로 이동`);
}
}
interface는 오로지 public으로만 작동하기 때문에 private나 protected 방식은 지원하지 않음
private를 달아주게 된다면 위 사진과 같은 에러를 발생시킨다.private가 필요하다면 constructor에 따로 정의해야 함
한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard