ETC

[TypeScript] interface

임호랑이 2021. 11. 2. 20:30

interface 란 

// class 를 어떻게 쓸것인지 설명서? 계약서 같은 존재

// class 안의 사용할 함수를 정의

// 만들어진 class 의 함수를 또 한번 쪼개서 외부에서 사용할 수 있음

// class 에 만든 interface 를 implements 해줘야함

라고 이해되는대로 정리를 하였다.

ex :)

이러한 커피을 제조하는 CoffeeMachine 이라는 class 가 있을떄

이 class 로 사용할 수 있는 interface 를 지정 할 수 있다.

CoffeeMaker 라는 interface 는 CoffeeMachine class 안의 makeCoffee() 함수만 사용 할 것이고

CommercialCoffeeMaker 라는 interface 는 CoffeeMachine class 안의 더 많은 함수를 사용 할 것이라고 지정해 놓는다.

마치 계약서 처럼.

* 만든 interface 를 사용할 class 에 implements 로 받아놔야한다.

그 후 각각 다른 class 에서 다시한번 constructor 에 각각 interface를 받아오면

각각 interface안에 지정한 함수들을 만든 class 에서 사용 할 수 있다.

각각 만든 class 를 변수에 담아서 사용 할 수 있다.

amteur 는 class 에서 지정한 하나의 함수만 실행 될 것이고

pro 는 class 에서 지정한 여러개의 함수가 실행 될 것이다.

 

이처럼 하나의 class 를 여러 interface 안의 사용할 함수또는 변수를 지정해서

조금 더 추상화 시킬수 있다.