[TypeScript] 추상 클래스 vs 인터페이스 - 직원 조직도로 이해하기
·
Language/TypeScript
목차 TypeScript에서 추상 클래스(abstract class)와 인터페이스(interface)는 둘 다 “규약”을 정의하는 도구이다. 하지만 실제 목적과 사용법은 다르다. 이번 글에서는 직원 조직도 비유를 통해 이 차이를 쉽게 정리해보고자 한다.추상 클래스 vs 인터페이스 — 핵심 차이인터페이스 (interface)컴파일 후 사라짐: 타입 정보만 제공, JS 출력 없음.구조적 타이핑: 이름이 아니라 모양(shape) 이 같으면 호환.다중 구현 가능: class A implements I1, I2선언 병합 가능: 같은 이름의 인터페이스를 여러 번 정의하면 자동으로 합쳐짐.상태(필드) 불가: 런타임 상태나 공통 구현은 가질 수 없음.추상 클래스 (abstract class)런타임에 남음: 공통 메서드..