TypeScript의 핵심 원칙 중 하나는 타입 검사가 값의 형태에 초점을 맞추고 있다는 것이다. TypeScript에서 인터페이스는 이런 타입들의 이름을 짓는 역할을 하고 코드 안의 계약을 정의한다. 컴파일러는 최한 필요한 프로퍼티가 있는지와 타입이 잘 맞는지만 검사한다. interface LabeledValue { label: string; } function printLabel(labeledObj: LabeledValue) { console.log(labeledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); myObj는 label: string 이외의 값도 포함하고 있지만 label: string을 가..