티스토리 뷰
👒 인터페이스를 구현하는 클래스
타입스크립트의 인터페이스는 클래스의 설계도 역할을 할 수 있다.
인터페이스를 이용해 클래스에 어떤 필드들이 존재하고, 어떤 메소드가 존재하는 지 정의할 수 있다.
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
'코딩 > 한 입 크기로 잘라먹는 타입스크립트' 카테고리의 다른 글
[TypeScript] map, forEach 메소드 타입 정하기 (0) | 2023.09.14 |
---|---|
[TypeScript] 제네릭 함수와 타입 변수 (1) | 2023.09.13 |
[TypeScript] 접근 제어자 (0) | 2023.09.09 |
[TypeScript] 타입스크립트의 클래스 (0) | 2023.09.07 |
[TypeScript] 인터페이스 선언 합침 (0) | 2023.09.05 |
최근에 올라온 글
- Total
- Today
- Yesterday
TAG
- 클론코딩
- 프론트엔드
- 오블완
- 번들링
- 띵동코딩
- cdd
- React.JS
- useRef
- 타입스크립트
- React
- 코드스테이츠
- 정처기필기
- Next.js
- 개발
- 데이터요청
- css
- HTML
- 티스토리챌린지
- 인증
- 웹팩
- styled-component
- git 오류
- javascript
- 로컬 저장소
- 상태관리
- 보안
- 프레임워크
- 자바스크립트
- nextjs
- 부트캠프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
250x250