interface PersonConstructor {
      new (name: string, age: number): {
        name: string;
        age: number;
      };
    }
    
    class Person {
      name: string;
      age: number;
      constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
      }
    }
    
    function createPerson(ctor: PersonConstructor, name: string, age: number) {
      return new ctor(name, age);
    }
    
    createPerson(Person, 'zero', 28);
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.