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

이번에는 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 공식 문서