타입스크립트에서 인터페이스란, 타입별칭과 동일하게 특정타입에 이름을 지어주는 타입스트립트만의 독특한 문법.
타입별칭과 거의 유사하다.
인터페이스 타입도 마찬가지로 선택적프로퍼티(Optional Property)와 읽기전용 프로터피를 가지고 있다
- 인터페이스 확장
하나의 인터페이스를 다른 인터페이스들이 상속받아 중복된 프로퍼티를 정의하지 않도록 도와주는 문법!
- 인터페이스는 중복선언이 가능하다.
-> 하나로 인식함.(선언합침)
Class 클래스
자바스크립트에서 클래스는 동일한 요소를 담고 있는 객체를 보다 쉽고, 효율적으로 재생성하기 위해서 만들어진 문법이다.
타입스트립트에서도 동일하게 사용가능하다.
타입스크립트에서 클래스는 또하나의 타입으로도 사용가능하다. (클래스 = 타입요소)
타입스크립트에서도 클래스 상속이 가능하다. 단, 상속시 super 메서드 호출 후 확장하고자 하는 생성자를 호출해야 한다.
Class 접근 제어자 (Access Modifier)
- 타입스크립트 클래스의 필드값은 기본적으로 퍼블릭(piblic)이라는 디폴트값을 가지고 있다.
(*퍼블릭 = 수정 편집 가능)
따라서 위와같이 수정이가능.
- 속성을 퍼블릭(piblic) -> 프라이빗(private)으로 설정한다면 변경할 수 없다.(-> 확장영역에서도 사용불가)
- 프로텍티드(protected)값은 외부에서는 사용이 불가하지만 확장 클래스 안에서는 제한적으로 수정이 가능하도록 설정한 필드 속성
인터페이스를 구현하는 클래스
타입스트립트에서 인터페이스의 또다른 역할
implements : 타입스트립트에서 클래스 생성시 사용, 해당 인터페이스를 생성하고자하는 클래스에서 모두 만족하도록 구현하게끔 만드는 키워드..?
'Typescript' 카테고리의 다른 글
230607/230801- 타입스크립트 복습 (0) | 2023.06.07 |
---|---|
230602 Typescript 제네릭 / 타입변수응용 / map forEach 메서드 타입정의 / 제네릭 인터페이스, 타입별칭 / 제네릭 클래스 / 프로미스와 제네릭 (0) | 2023.06.02 |
230601 Typescript의 함수타입 / 표현식, 호출 시그니처 / 호환성 / 사용자 정의타입 (0) | 2023.06.01 |
230531 Typescript 타입호환성 / 대수타입 / 타입추론 / 단언 / 타입좁히기 / 서로소 유니온 타입 활용 (0) | 2023.05.31 |
230530 Typescript의 객체, enum/Any/undefined/Unknown/void/never 타입 (0) | 2023.05.30 |