[typescript] 타입 별칭과 인터페이스를 사용하여 객체 리터럴 타입 정의하기
타입스크립트는 정적 타입 지정을 통해 코드의 가독성과 안정성을 높이는 데 도움을 줍니다. 타입 별칭과 인터페이스는 객체 리터럴의 타입을 명확하게 정의하는 데 유용한 도구입니다.
타입 별칭 (Type Alias)
타입 별칭은 새로운 타입의 이름을 지정할 수 있습니다. 이를 통해 반복적으로 사용되는 복잡한 타입을 간단한 이름으로 지정할 수 있습니다.
type Point = {
x: number;
y: number;
};
// 사용 예
const point: Point = { x: 10, y: 20 };
위 예제에서 Point
는 { x: number, y: number }
타입의 별칭으로 사용되며, 이를 통해 코드의 가독성을 높일 수 있습니다.
인터페이스 (Interface)
인터페이스는 타입을 정의하는 규약으로, 객체의 형태를 설명합니다. 인터페이스는 클래스, 객체, 함수 등의 타입을 정의할 수 있습니다.
interface Shape {
color: string;
}
interface Square extends Shape {
sideLength: number;
}
// 사용 예
const square: Square = { color: "red", sideLength: 10 };
위 예제에서 Shape
인터페이스는 color
속성을, Square
인터페이스는 Shape
인터페이스를 확장하면서 sideLength
속성을 추가로 가지고 있음을 정의합니다.
타입 별칭 vs. 인터페이스
- 타입 별칭은 새로운 타입의 이름을 정의할 때 사용하며, 인터페이스는 객체의 형태를 정의할 때 사용합니다.
- 인터페이스는 확장(extends)이 가능하지만, 타입 별칭은 불가능합니다.
각각의 사용 사례에 따라 적절하게 활용하여 코드를 보다 명확하고 이해하기 쉽게 작성할 수 있습니다.