-
TypeScript에서 인터페이스와 타입의 사용방법과 차이점Javascript 2023. 3. 16. 01:09
인터페이스(Interfaces)
인터페이스는 TypeScript에서 객체의 타입을 정의하는 방법 중 하나입니다. 인터페이스는 객체가 가져야 할 프로퍼티, 메소드 등의 구조를 정의합니다.
interface Person { name: string; age: number; greet: () => void; }
위의 예제에서
Person
인터페이스는name
과age
라는 두 개의 프로퍼티와greet
라는 메소드를 가져야 함을 정의합니다. 이제Person
인터페이스를 사용하여 해당 구조를 가진 객체를 만들 수 있습니다.const person: Person = { name: 'John', age: 30, greet: () => console.log('Hello!') };
인터페이스는 상속이 가능하며, 클래스에서도 사용될 수 있습니다.
타입(Types)
타입은 TypeScript에서 객체, 변수, 함수 등의 타입을 정의하는 방법 중 하나입니다. 타입은 인터페이스와 유사한 목적을 가지고 있지만 더 다양한 형태의 타입을 정의할 수 있습니다.
type Person = { name: string; age: number; greet: () => void; };
위의 예제에서
Person
타입은name
과age
라는 두 개의 프로퍼티와greet
라는 메소드를 가져야 함을 정의합니다. 인터페이스와 마찬가지로 해당 구조를 가진 객체를 만들 수 있습니다.const person: Person = { name: 'John', age: 30, greet: () => console.log('Hello!') };
타입은 인터페이스와 다르게 유니온 타입, 인터섹션 타입, 리터럴 타입 등 다양한 형태로 정의될 수 있습니다.
인터페이스와 타입의 차이점
- 인터페이스는 상속이 가능하지만, 타입은 불가능합니다.
- 인터페이스는 주로 객체의 구조를 정의하는 데 사용되지만, 타입은 다양한 형태의 타입을 정의하는 데 사용됩니다.
- 인터페이스는 주로 외부 라이브러리나 모듈에서 가져오는 타입을 정의하는 데 사용되지만, 타입은 주로 내부 코드에서 사용됩니다.
'Javascript' 카테고리의 다른 글
자바스크립트 익명함수 즉시실행함수 차이 (0) 2019.03.20