이번에는 TypeScript에서 클래스 내에서 정적 메서드와 인스턴스 메서드를 사용하여 데이터를 효율적으로 조회하는 방법에 대해 알아보겠습니다.
정적 메서드(Static Method)
정적 메서드는 클래스 자체에 바인딩되는 메서드이며, 인스턴스를 생성하지 않고 호출할 수 있습니다. 이러한 특성을 이용하여 데이터베이스에서 정보를 조회하거나, 클래스 내부에서 공통적으로 사용되는 로직을 추상화하여 사용할 수 있습니다.
다음은 TypeScript에서 정적 메서드를 정의하고 사용하는 예제입니다.
class Database {
static query(sql: string): any[] {
// 데이터베이스에서 SQL 쿼리를 실행하고 결과를 반환하는 로직
}
}
// 정적 메서드 호출
const results = Database.query("SELECT * FROM users");
위의 예제에서 query
메서드는 Database
클래스에 바인딩되어 있으므로, 인스턴스를 생성하지 않고도 Database.query
형태로 바로 호출할 수 있습니다.
인스턴스 메서드(Instance Method)
인스턴스 메서드는 클래스의 각 인스턴스에 바인딩되는 메서드로써, 인스턴스를 생성한 후에만 호출할 수 있습니다. 이러한 특성을 이용하여 각각의 인스턴스에 대한 독립적인 작업을 수행할 수 있습니다.
다음은 TypeScript에서 인스턴스 메서드를 정의하고 사용하는 예제입니다.
class User {
constructor(private name: string) {}
getName(): string {
return this.name;
}
}
// 인스턴스 생성
const user1 = new User("Alice");
const user2 = new User("Bob");
// 각각의 인스턴스에서 인스턴스 메서드 호출
const name1 = user1.getName();
const name2 = user2.getName();
위의 예제에서 getName
메서드는 User
클래스의 각 인스턴스에 바인딩되어 있으므로, 인스턴스를 생성한 후에 user1.getName()
과 user2.getName()
형태로 호출할 수 있습니다.
이처럼 TypeScript에서는 정적 메서드와 인스턴스 메서드를 활용하여 데이터 조회 및 각 인스턴스에 대한 작업을 보다 효율적으로 처리할 수 있습니다.
결론
이번 포스트에서는 TypeScript에서의 정적 메서드와 인스턴스 메서드를 활용하여 데이터 조회하는 방법에 대해 살펴보았습니다. 정적 메서드는 클래스 자체에 바인딩되어 인스턴스를 생성하지 않고 호출할 수 있으며, 인스턴스 메서드는 각 인스턴스에 바인딩되어 해당 인스턴스에서 호출할 수 있습니다. 이를 잘 활용하여 코드를 모듈화하고 가독성을 높일 수 있습니다.
참고문헌: TypeScript 공식 문서