[TypeScript-입문] 8.인터페이스(Interface)
in TypeScript on TypeScript 입문
인터페이스(Interface)에 대한 포스팅이다.
인터페이스(Interface)
인터페이스는 상호 간에 정의한 약속 혹은 규칙을 의미합니다. 타입스크립트에서의 인터페이스는 아래와 같은 특성으로 사용된다.
- 객체의 스펙(속성과 속성의 타입)
- 함수의 파라미터
- 함수의 스펙(파라미터, 반환 타입 등)
- 배열과 객체를 접근하는 방식
- 클래스
인터페이스 예제
// 인터페이스
interface User {
name: string;
age: number;
}
// 변수에 사용하는 경우
const bro: User = { name: '으장', age: 37 };
// 함수의 매개변수에 사용하는 경우
function getUser(user: User) {
console.log(user);
}
getUser(bro);
인터페이스 확장 예제
interface Person {
name: string;
age: number; // 옵셔널 선택자 ? 동일하게 적용 가능
}
interface Developer extends Person {
language: string;
}
const joo: Developer = { name: "joo", age: 20, language: "ts" };
인터페이스 구현 예제
interface Person {
name: string;
say(message: string): void;
}
interface Programmer {
coding(requirement: string): string;
}
class Employee implements Person, Programmer {
constructor(public name: string) {}
//구현
say(message: string): void {
console.log("# message=", message);
}
//구현
coding(requirement: string): string {
console.log("# requirement=", requirement);
return "요구사항" + requirement;
}
}
[참고]
- 타입스크립트 핸드북 : https://joshua1988.github.io/ts/intro.html