[typescript] 정적 메서드와 인스턴스 메서드를 사용하여 데이터 집계하기

소프트웨어 개발에서 데이터를 처리하고 집계하는 기능은 매우 중요합니다. TypeScript의 클래스를 사용하여 이를 수행할 때, 정적 메서드와 인스턴스 메서드를 효과적으로 활용할 수 있습니다.

클래스 및 메서드 정의

먼저, 데이터를 다루는 클래스를 정의합니다. 이 클래스에는 데이터를 저장하고 집계하는 데 사용되는 여러 메서드가 포함될 것입니다.

class DataProcessor {
    data: number[];

    constructor(data: number[]) {
        this.data = data;
    }

    // 정적 메서드: 데이터 배열의 총합을 계산한다
    static calculateSum(data: number[]): number {
        return data.reduce((acc, current) => acc + current, 0);
    }

    // 인스턴스 메서드: 데이터 배열의 평균값을 계산한다
    calculateAverage(): number {
        const sum = this.data.reduce((acc, current) => acc + current, 0);
        return sum / this.data.length;
    }
}

위의 코드에서 DataProcessor 클래스는 data 배열을 속성으로 갖고 있으며, 이 배열에 대해 총합을 계산하는 정적 calculateSum 메서드와 평균값을 계산하는 인스턴스 메서드 calculateAverage가 정의되어 있습니다.

사용법

이제 이 클래스를 사용하여 데이터를 집계해 보겠습니다.

const data = [10, 20, 30, 40, 50];
const processor = new DataProcessor(data);

const sum = DataProcessor.calculateSum(data);
const average = processor.calculateAverage();

console.log('Sum:', sum); // Sum: 150
console.log('Average:', average); // Average: 30

위의 예제에서는 먼저 DataProcessor 클래스의 인스턴스를 생성하고, 이를 사용하여 총합과 평균값을 계산하여 출력하고 있습니다.

이제 정적 메서드와 인스턴스 메서드를 사용하여 데이터를 집계하는 방법에 대해 알아 보았습니다. 클래스의 재사용성을 높이고 데이터 처리 코드를 보다 모듈화할 수 있는 장점이 있으므로, 이러한 방법을 적극적으로 활용하는 것이 좋습니다.

참고 자료