[typescript] 정적 메서드와 인스턴스 메서드의 실제 사용 예시
이번에는 TypeScript에서 클래스의 정적 메서드와 인스턴스 메서드를 어떻게 사용하는지 살펴보겠습니다.
정적 메서드와 인스턴스 메서드
정적 메서드는 클래스의 인스턴스 없이 호출할 수 있는 메서드이며, 주로 유틸리티 함수나 팩토리 함수를 구현할 때 사용됩니다.
인스턴스 메서드는 클래스의 인스턴스를 생성한 후에 호출할 수 있는 메서드로, 해당 클래스의 특정 인스턴스에 대해 동작하는 로직을 구현하는 데 사용됩니다.
예시: 사각형 클래스
아래는 TypeScript로 구현한 Rectangle
클래스입니다.
class Rectangle {
width: number;
height: number;
constructor(width: number, height: number) {
this.width = width;
this.height = height;
}
// 인스턴스 메서드
getArea(): number {
return this.width * this.height;
}
// 정적 메서드
static createSquare(size: number): Rectangle {
return new Rectangle(size, size);
}
}
// 정적 메서드 호출
const square = Rectangle.createSquare(5);
console.log(square); // 출력: Rectangle { width: 5, height: 5 }
// 인스턴스 메서드 호출
console.log(square.getArea()); // 출력: 25
위 예시에서, 우리는 Rectangle
클래스에 정적 메서드 createSquare
와 인스턴스 메서드 getArea
를 구현했습니다.
createSquare
를 통해 정사각형을 생성하고, getArea
를 호출하여 사각형의 면적을 구할 수 있습니다.
결론
정적 메서드와 인스턴스 메서드는 TypeScript 클래스의 다양한 상황에 유용하게 활용될 수 있으며, 각각의 특성에 맞게 적절히 사용함으로써 코드를 더욱 모듈화하고 가독성 있게 작성할 수 있습니다.
더 많은 정보는 TypeScript 공식 문서를 참고하세요.