[typescript] 정적 메서드와 인스턴스 메서드를 사용하여 클래스 내부의 데이터 조작하기

클래스 내부의 데이터를 조작하거나 속성을 반환하는 함수를 작성할 때, TypeScript에서는 정적 메서드와 인스턴스 메서드를 사용할 수 있습니다. 정적 메서드는 클래스의 인스턴스화 없이 호출할 수 있으며, 인스턴스 메서드는 클래스의 인스턴스를 통해 호출됩니다.

정적 메서드

정적 메서드는 static 키워드를 사용하여 정의됩니다. 이 메서드는 클래스 인스턴스의 속성에 직접적으로 접근할 수 없지만, 클래스 수준에서 유용한 함수를 만들 때 유용합니다.

예를 들어, Math 클래스는 정적 메서드를 사용하여 숫자와 관련된 여러 유틸리티 함수를 제공합니다. 아래는 TypeScript에서 정적 메서드를 활용한 간단한 예제입니다.

class MathUtilities {
  static multiply(x: number, y: number): number {
    return x * y;
  }
}

// 정적 메서드 호출
const result = MathUtilities.multiply(3, 7);
console.log(result); // 21

인스턴스 메서드

인스턴스 메서드는 클래스의 인스턴스를 통해 호출됩니다. 이 메서드는 클래스의 속성과 메서드에 직접적으로 접근할 수 있습니다.

아래는 TypeScript에서 인스턴스 메서드를 사용하여 클래스 내부의 데이터를 조작하는 예제입니다.

class Counter {
  private count: number;

  constructor(initialCount: number) {
    this.count = initialCount;
  }

  increment() {
    this.count++;
  }

  getCount() {
    return this.count;
  }
}

const myCounter = new Counter(0);
myCounter.increment();
console.log(myCounter.getCount()); // 1

위 예제에서 Counter 클래스는 increment 메서드를 통해 count 속성을 증가시키고, getCount 메서드를 통해 현재 카운트 값을 반환합니다.

정적 메서드와 인스턴스 메서드는 각각의 장단점을 가지고 있으며, 적합한 상황에 사용됩니다. 올바른 메서드를 선택하여 클래스 내부의 데이터를 효과적으로 조작할 수 있습니다.

이제 클래스 내부의 데이터를 조작하고 속성을 반환하는 데 사용할 수 있는 TypeScript의 정적 메서드와 인스턴스 메서드에 대해 알아보았습니다.