[typescript] TypeScript 클래스

이 기술 블로그에서는 TypeScript에서 클래스를 사용하는 방법에 대해 다뤄보겠습니다.

목차

  1. TypeScript 클래스 소개
  2. 클래스 선언
  3. 생성자
  4. 접근 제어자
  5. 상속
  6. 정적 메서드
  7. 추상 클래스
  8. 마무리

1. TypeScript 클래스 소개

TypeScript는 객체지향 프로그래밍을 지원하고, 클래스를 사용하여 객체를 모델링하고 관리할 수 있습니다.

2. 클래스 선언

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 am ${this.age} years old`;
  }
}

let person1 = new Person('Alice', 30);
console.log(person1.greet());

3. 생성자

생성자는 클래스의 인스턴스를 생성하고 초기화하는 역할을 합니다. TypeScript에서 생성자는 constructor 키워드를 사용하여 정의합니다.

4. 접근 제어자

class Animal {
  private name: string;
  public constructor(name: string) {
    this.name = name;
  }

  public move(distanceInMeters: number) {
    console.log(`${this.name} moved ${distanceInMeters}m.`);
  }
}

위 예제에서 private 키워드는 name 멤버 변수를 클래스 내부에서만 접근할 수 있도록 합니다.

5. 상속

class Employee extends Person {
  salary: number;

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

  introduce() {
    return `${this.name} is ${this.age} years old and earns ${this.salary} per month`;
  }
}

위 예제는 Employee 클래스가 Person 클래스를 상속하는 예시입니다.

6. 정적 메서드

class MathUtil {
  static PI: number = 3.14;

  static calculateCircumference(radius: number) {
    return 2 * this.PI * radius;
  }
}

console.log(MathUtil.calculateCircumference(5));

static 키워드를 사용하여 정적 메서드와 속성을 선언할 수 있습니다.

7. 추상 클래스

abstract class Animal {
  abstract makeSound(): void;

  move(): void {
    console.log('roaming the earth...');
  }
}

abstract 키워드를 사용하여 추상 클래스와 메서드를 선언할 수 있습니다.

8. 마무리

TypeScript를 사용하여 객체지향 프로그래밍을 구현하는 방법에 대해 알아보았습니다. 클래스를 효율적으로 활용하여 유연하고 구조화된 코드를 작성할 수 있습니다.

참고 문헌:

이상으로 TypeScript 클래스에 대한 간단한 소개를 마치도록 하겠습니다. 코드 작성 중 궁금한 점이 있으면 언제든지 물어보세요!