[typescript] 상속과 구현을 사용하여 어떤 코드의 가독성을 높일 수 있는가?

이번에는 TypeScript에서 상속과 인터페이스 구현을 사용하여 코드의 가독성을 향상시키는 방법에 대해 알아보겠습니다.

1. 상속을 통한 가독성 향상

TypeScript에서 상속은 클래스 간의 계층 구조를 구축하는 강력한 방법입니다. 부모 클래스의 속성과 메서드를 자식 클래스에서 재사용하고 확장함으로써 코드의 중복을 줄이고 가독성을 높일 수 있습니다.

다음은 상속을 사용하여 가독성을 향상시키는 예시입니다.

class Animal {
  name: string;

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

  makeSound(): void {
    console.log("Animal makes a sound");
  }
}

class Dog extends Animal {
  breed: string;

  constructor(name: string, breed: string) {
    super(name);
    this.breed = breed;
  }

  makeSound(): void {
    console.log("Dog barks");
  }
}

위 예시에서 Dog 클래스는 Animal 클래스를 상속받아 makeSound 메서드를 오버라이딩하여 확장하고 있습니다. 이렇게 부모 클래스의 기능을 재사용하면서도 필요에 맞게 수정하여 코드의 가독성을 높일 수 있습니다.

2. 인터페이스 구현을 통한 가독성 향상

인터페이스는 TypeScript에서 코드의 가독성을 높이고 유지보수를 쉽게 만드는 도구입니다. 클래스가 특정 인터페이스를 구현하면 해당 인터페이스의 요구사항을 충족해야 하므로 코드의 목적을 명확히 표현할 수 있습니다.

다음은 인터페이스를 구현하여 가독성을 향상시키는 예시입니다.

interface Shape {
  calculateArea(): number;
}

class Circle implements Shape {
  radius: number;

  constructor(radius: number) {
    this.radius = radius;
  }

  calculateArea(): number {
    return Math.PI * this.radius ** 2;
  }
}

위 예시에서 Circle 클래스는 Shape 인터페이스를 구현하여 calculateArea 메서드를 정의하고 있습니다. 이를 통해 Circle 클래스의 목적이 더 명확해지며, 다른 개발자가 해당 코드를 이해하고 사용하기 쉬워집니다.

결론

TypeScript에서 상속과 인터페이스 구현은 코드의 가독성을 향상시키는 강력한 도구입니다. 상속을 통해 클래스 간의 관계를 명확히하고, 인터페이스를 구현하여 클래스의 목적을 명확히 표현함으로써 코드를 이해하기 쉽고 유지보수하기 편리하게 만들 수 있습니다.

참고 문헌: