extends
가 아닌 implements
키워드로 구현합니다🐥interface 와 implements
- interface
- 정의, 설계
- implements
- 구현
interface Person {
name: string
age: number
}
const jang: Person = {
name: 'Jang',
age: 99
}
/**
* interface implements
* - interface의 설계를 구현한다.
*/
interface Animal {
name: string
run(): string
}
interface Person {
sayName(): string
}
class AnyClass {
}
//다중구현도 가능합니다.
class Jang extends AnyClass implements Animal, Person {
constructor(public name: string) {
super()
}
run() {
return this.name
}
sayName() {
return `사람의 이름은 ${this.name}`
}
}
interface에서 extends를 활용할 수도 있습니다.
/**
* interface extends
*/
interface Animal {
name: string
run(): string
}
interface Person extends Animal {
sayName(): string
}
const jang: Person = {
name: 'Jang',
run() {
return 'string'
},
sayName() {
return 'string2'
}
}