[TypeScript] interface
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 안의 사용할 함수또는 변수를 지정해서
조금 더 추상화 시킬수 있다.