[typescript] 타입스크립트 클래스와 인터페이스

타입스크립트는 자바스크립트에 정적 타입을 추가하는 언어로, 클래스와 인터페이스를 활용하여 객체지향 프로그래밍을 지원합니다. 이번 포스트에서는 타입스크립트의 클래스와 인터페이스에 대해 알아보겠습니다.

클래스

클래스는 객체를 생성하기 위한 템플릿으로, 프로퍼티와 메서드를 포함할 수 있습니다. 다음은 간단한 클래스의 예시입니다.

class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  greet() {
    return `Hello, my name is ${this.name} and I'm ${this.age} years old.`;
  }
}

const person1 = new Person('Alice', 25);
console.log(person1.greet());

위 예시에서 Person 클래스는 nameage 프로퍼티를 가지고 있으며, greet 메서드를 포함하고 있습니다. 클래스를 사용하여 객체를 생성할 수 있고, 해당 객체의 메서드를 호출할 수 있습니다.

인터페이스

인터페이스는 객체의 형태를 정의하기 위한 목적으로 사용됩니다. 즉, 인터페이스를 사용하여 객체가 특정한 구조를 갖도록 강제할 수 있습니다. 다음은 인터페이스의 예시입니다.

interface Shape {
  color: string;
  area: number;
}

function getShapeInfo(shape: Shape) {
  return `This shape is ${shape.color} and has an area of ${shape.area} square units.`;
}

const rectangle = { color: 'red', area: 100 };
console.log(getShapeInfo(rectangle));

위 예시에서 Shape 인터페이스는 colorarea 프로퍼티를 갖는 객체의 형태를 정의하고 있습니다. getShapeInfo 함수는 Shape 인터페이스를 준수하는 객체를 인자로 받아 해당 객체의 정보를 출력합니다.

결론

타입스크립트는 클래스와 인터페이스를 활용하여 강력한 객체지향 프로그래밍 기능을 제공합니다. 클래스를 사용하여 객체를 생성하고, 인터페이스를 사용하여 객체의 형태를 정의함으로써 코드의 가독성과 안정성을 높일 수 있습니다.

더 많은 정보는 타입스크립트 공식 문서에서 확인할 수 있습니다.