코딩/한 입 크기로 잘라먹는 타입스크립트
[TypeScript] 인터페이스와 클래스
김기지
2023. 9. 11. 13:11
👒 인터페이스를 구현하는 클래스
타입스크립트의 인터페이스는 클래스의 설계도 역할을 할 수 있다.
인터페이스를 이용해 클래스에 어떤 필드들이 존재하고, 어떤 메소드가 존재하는 지 정의할 수 있다.
interface CharacterInterface{
name: string;
moveSpeed: number;
move(): void;
}
// CharacterInterface가 정의한 타입의 객체를 클래스가 생성하도록 하기
// implements(구현하다)
class Character implements CharacterInterface{
// 인터페이스는 public 필드만 정의할 수 있음
// -> private, protected 설정 불가능
// private하거나 protected한 필드가 필요한 경우에는 추가로 정의
constructor(
public name: string,
public moveSpeed: number,
private extra: string
){ // 매개변수에 접근 제어자 설정으로 생략 가능}
move():void{
console.log(`${this.moveSpeed}만큼 이동`)
}
}
인터페이스를 클래스에서 implements 키워드로 구현하도록 한다면 이 클래스가 생성하는 객체는 모두 해당 인터페이스 타입을 모두 만족하도록 클래스를 구현해야 한다.
인터페이스는 public한 필드만 정의할 수 있기 때문에 매개변수에 private나 protected 설정은 불가능하다. 하지만 추가로 private하거나 protected한 필드가 필요한 경우에는 추가로 정의가 가능하다.
보통 클래스를 만들 때 인터페이스를 설계도로 만드는 경우는 드물지만 라이브러리를 구현하거나 정교하고 복잡한 프로그래밍을 하는 경우도 종종 있다.
한 입 크기로 잘라먹는 타입스크립트(TypeScript) - 인프런 | 강의
문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻♀️로 만들어드립니다., 프론트엔드의 피할 수
www.inflearn.com
728x90