[typescript] 인터페이스와 유니온 타입을 활용하여 다중 타입의 객체 선언 방법을 알려주세요.
TypeScript에서 다중 타입의 객체를 선언하는 방법은 인터페이스와 유니온 타입을 활용하는 것입니다. 이 두 가지를 조합하여 다양한 타입을 가지는 객체를 정의할 수 있습니다.
1. 인터페이스를 활용한 다중 타입 객체 선언
인터페이스는 다른 타입으로 구현될 수 있는 구조를 정의합니다. 여러 가지 타입이 포함된 객체를 선언할 때 유용하게 활용될 수 있습니다. 아래는 인터페이스를 사용하여 다중 타입의 객체를 선언하는 예제입니다.
interface Car {
brand: string;
model: string;
year: number;
}
interface Plane {
manufacturer: string;
model: string;
passengerCapacity: number;
}
// 다중 타입의 객체 선언
let vehicle: Car | Plane;
vehicle = { brand: 'Tesla', model: 'Model S', year: 2021 }; // Car 타입
vehicle = { manufacturer: 'Boeing', model: '747', passengerCapacity: 416 }; // Plane 타입
2. 유니온 타입을 활용한 다중 타입 객체 선언
유니온 타입은 여러 타입 중 하나가 될 수 있는 값을 나타냅니다. 다중 타입의 객체를 선언할 때, 유니온 타입을 사용하여 다양한 타입을 가진 속성을 정의할 수 있습니다. 아래는 유니온 타입을 사용하여 다중 타입의 객체를 선언하는 예제입니다.
// 다중 타입의 객체를 선언하는 유니온 타입 활용
let person: {
name: string;
age: number | string;
email?: string; // 옵셔널 속성
};
person = { name: "John", age: 30 };
person = { name: "Emily", age: "thirty", email: "emily@example.com" };
위의 두 가지 방법을 조합하여, 복잡한 다중 타입의 객체를 선언할 수 있습니다. 이를 통해 TypeScript에서 유연하고 강력한 타입 시스템을 이용하여 다양한 타입의 객체를 다룰 수 있습니다.
이상으로 TypeScript를 활용한 다중 타입 객체 선언 방법에 대해 알아보았습니다. 감사합니다.