
타입스크립트의 interface와 implements에 대해 알아보자 (+ extends 맛보기)
// interface와 Implements
// 정의 - 사용 / 설계 - 구현 관계
interface Person {
name: string
run(): void
}
class Jang implements Person {
constructor (public name: string) {}
run() {
console.log(this.name)
}
}
interface Animal {
name: string
run(): string
}
interface Person extends Animal {
sayName(): string
}
// 이런식으로 interface를 작성하면 Person은 Animal의 속성들을 모두 가지면서,
// sayName()도 가지게 된다. (+알파느낌)
const jang: Person = {
name: 'Na',
run() {
return 'string'
},
sayName() {
return 'string'
}
}