이번 글에서는 TypeScript에서 정적 메서드와 인스턴스 메서드를 함께 사용하여 프로그래밍하는 방법에 대해 알아보겠습니다. TypeScript를 사용하면 객체지향 프로그래밍의 장점을 활용하여 코드를 짤 수 있습니다. 정적 메서드와 인스턴스 메서드를 적절히 활용하면 코드를 더욱 모듈화하고 유연하게 구성할 수 있습니다.
1. 정적 메서드란 무엇인가?
정적 메서드는 클래스의 인스턴스와 무관하게 호출할 수 있는 메서드입니다. 보통 유틸리티 함수나 팩토리 함수 등을 구현할 때 활용됩니다.
다음은 Math
클래스의 정적 메서드 예제입니다.
class Math {
static square(x: number) {
return x * x;
}
static cube(x: number) {
return x * x * x;
}
}
console.log(Math.square(3)); // 9
console.log(Math.cube(3)); // 27
2. 인스턴스 메서드란 무엇인가?
인스턴스 메서드는 클래스가 인스턴스화된 후에 사용할 수 있는 메서드입니다. 클래스의 각 인스턴스는 자신만의 인스턴스 메서드를 가질 수 있습니다.
다음은 Point
클래스의 인스턴스 메서드 예제입니다.
class Point {
constructor(private x: number, private y: number) {}
getDistanceToOrigin() {
return Math.sqrt(this.x * this.x + this.y * this.y);
}
}
const point = new Point(3, 4);
console.log(point.getDistanceToOrigin()); // 5
3. 정적 메서드와 인스턴스 메서드 함께 사용하기
이 두 메서드를 함께 사용하면, 유틸리티 함수나 공통으로 사용되는 기능을 정적 메서드로 구현하고, 각 인스턴스가 가지는 특정한 동작은 인스턴스 메서드로 구현할 수 있습니다.
다음은 Animal
클래스의 예제입니다.
class Animal {
static create(name: string) {
return new Animal(name);
}
constructor(private name: string) {}
getName() {
return this.name;
}
}
const dog = Animal.create('Dog');
console.log(dog.getName()); // 'Dog'
4. 결론
정적 메서드와 인스턴스 메서드를 적절히 활용하면 코드를 모듈화하고 유연하게 구성할 수 있습니다. TypeScript에서 이 두 가지를 적절히 활용하여 객체지향 프로그래밍을 할 때, 코드의 가독성과 유지보수성이 향상될 수 있습니다.
정적 메서드와 인스턴스 메서드를 적절히 사용하여 코드를 구조화하는 방법에 대해 고민해보시기 바랍니다.
5. 참고 자료
이상으로, TypeScript에서 정적 메서드와 인스턴스 메서드를 함께 사용하여 프로그래밍하는 방법에 대해 알아보았습니다. 감사합니다.