🔷 Interface란?
- Interface는 TypeScript에서 타입 체크를 위해 사용된다. 여러가지의 타입을 갖는 property로 이루어져, 일종의 새로운 타입의 정의를 하는 것이다.
- 변수, 클래스, 함수 등에 사용할 수 있다.
🔷 Interface 예제
interface UserInfo {
name : string;
age : number;
gender : string;
address? : string;
readonly birthYear : number;
[grade :number] : string;
}
let userInfo : UserInfo = {
name : "xx",
age : 20,
birthYear : 2000,
1 : "A",
2 : "B"
}
userInfo.age = 10;
userInfo.gender = "male";
userInfo.address = "seoul";
userInfo.birthYear = 1990;
interface Add {
(num1 :number, num2 :number) :number;
};
const add :Add = function(x, y) {
return x + y;
};
add(10,20);
interface IsAdult {
(age :number) :boolean;
};
const userAge :IsAdult = (age) => {
return age > 19;
};
userAge(30);
userAge(10);
interface Car {
color : string;
wheels : number;
start() : void;
};
class Bmw implements Car {
color = "red";
wheels = 4;
start() {
console.log("go!");
};
};
class Volkswagen implements Car {
color;
wheels = 4;
constructor(c : string) {
this.color = c;
};
start() {
console.log("go!");
};
};
const volkswagen = new Volkswagen("blue");
console.log(volkswagen);
interface Fruits {
color : string;
price : number;
};
interface Mango extends Fruits {
origin : string;
};
const mango :Mango = {
color : "yellow",
price : 2000,
origin : "Thailand";
};
interface Vegetables {
color : string;
};
interface Food extends Fruits, Vegetables {
name : string;
};