검색
회원가입로그인

인터페이스와 타입 별칭 이해하기

Understanding Interfaces and Type Aliases

타입스크립트는 자바스크립트를 확장한 언어로, 정적 타입 검사를 활용하여 더 나은 코드 품질과 안정성을 제공합니다. 이 장에서는 타입스크립트의 중요한 기능인 Interfaces와 Type Aliases에 대해 알아보겠습니다.

Interfaces

Interface는 타입스크립트에서 객체의 구조를 정의하기 위한 기능입니다. 이를 통해 객체의 타입을 더 명확히 하고, 타입 검사를 통해 오류를 줄일 수 있습니다.

Interface 구조 정의하기

interface Person {
  name: string;
  age: number;
}

let user: Person = { name: "John", age: 30 };

위 예제는 Person이라는 인터페이스를 정의하고 그것의 구조를 따르는 객체를 생성한 예시입니다. 이는 객체가 nameage라는 두 가지 속성을 포함하도록 요구합니다.

Interface의 확장

Interface는 확장이 가능하여 더 큰 구조를 설계하는 데 유용합니다.

interface Employee extends Person {
  department: string;
}

let staff: Employee = { name: "John", age: 30, department: "HR" };

Type Aliases

Type Alias는 타입스크립트에서 특정 타입에 별칭을 제공하는 방법입니다.

Type Alias 기본 사용법

type Point = {
  x: number;
  y: number;
};

let location: Point = { x: 10, y: 20 };

여기에서 Point라는 type alias를 정의했고, 이는 객체의 타입을 간단히 표현하는 방법입니다.

Type Alias의 유용성

Type Alias는 복잡한 타입을 더 간단하게 할 수 있으며, 함수 타입이나 유니온 타입을 사용하여 보다 강력한 타입 시스템을 구축할 수 있습니다.

type Input = string | number;

function printInput(value: Input) {
  console.log(value);
}

printInput("Hello"); // 출력: Hello
printInput(42);       // 출력: 42

Interface vs Type Alias

타입스크립트에서 Interface와 Type Alias가 비슷한 점도 있지만, 다음과 같은 차이가 있습니다:

  1. 확장성: Interface는 확장 가능한 반면 Type Alias는 기본적으로 확장이 어렵습니다.

  2. 선택: Interface는 객체 구조를 정의할 때 더 자주 사용되며, Type Alias는 다른 타입 형태를 정의하는데 적합합니다.

마무리

Interface와 Type Alias는 타입스크립트에서 각각의 강점을 가지고 다양한 방식으로 활용될 수 있습니다. 이 둘을 이해하고 적절히 사용하는 것은 보다 안전하고 유지 보수 가능한 애플리케이션을 개발하는 데 도움이 됩니다.

참고 자료

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 33
heart