매번 사용하면서도 모르는 추상클래스와 인터페이스의 차이에 대해 설명하려고 한다. 구글에 검색해봐도 사실 어려운 이야기만 잔뜩 있어서 이게 뭐지 라는 생각만 든다. 나는 이 둘의 차이를 용도의 차이 측면에서 보려고 한다. 결론부터 말하면 추상클래스는 확장해서 사용하기 위함이고 인터페이스는 설계를 위함이다. 아직 무슨 말인지 감이 오지 않을 것이다. 먼저 추상 클래스의 예시를 보자! 1. 추상 클래스 예를 들어 Company 라는 추상 클래스가 있고 이 클래스는 아래와 같다. 추상클래스는 자식 클래스들의 공통된 구현을 추상 클래스 내에 정의된 상수나 구현을 이용해 중복을 없애고 추상 메서드를 이용해 자식들의 구현을 강제한다. abstract class Company { private name: string;..