TypeScript)생성자(constructor)

Songss·2025년 1월 13일

TypeScript

목록 보기
8/10

constructor는 TypeScript와 JavaScript에서 클래스의 생성자 함수를 정의하는 키워드입니다. 클래스의 객체(인스턴스)를 생성할 때 호출되며, 클래스의 멤버 변수를 초기화하거나 객체 생성 시 필요한 작업을 수행할 수 있습니다.


constructor의 특징

  1. 자동 호출:
    • new 키워드로 클래스의 인스턴스를 생성할 때, constructor가 자동으로 호출됩니다.
  2. 매개변수 지원:
    • 생성자에 매개변수를 정의하여 객체 초기화 시 필요한 값을 전달받을 수 있습니다.
  3. 한 클래스에 하나의 생성자만 존재:
    • TypeScript에서는 클래스당 하나의 constructor만 정의할 수 있습니다.
  4. 멤버 변수 초기화 간소화:
    • 생성자에서 접근 제어자(public, private, protected)를 사용하여 멤버 변수를 선언 및 초기화할 수 있습니다.
// 멤버 변수 == 속성 == 프로퍼티
// 멤버 함수 == 메소드

class Employee {
  // 직원 정보
  empName: string;
  age: number;
  empJob: string;

  constructor(empName: string, age?: number, empJob?: string) {
    this.empName = empName;
    this.age = age;
    this.empJob = empJob;
  }

  printEmp = (): void => {
    console.log(`${this.empName} 의 나이는 ${this.age} 이고, 직업은 ${this.empJob} 입니다.`);
  };
}

// Employee 인스턴스 생성
const emp1 = new Employee('seungsoo', 32, 'develop');

// printEmp() 호출
emp1.printEmp();
  1. 멤버 변수를 먼저 선언해줍니다. empName age empJob
  2. constructor 생성자 함수를 만들어 줍니다.
    1. 초기 세팅할 매개변수들을 타입까지 선언해줍니다.
      1. 위 코드에서는 age empJob은 선택적이기에 ?를 추가했습니다.
    2. constructor사용시 this 키워드로 바인딩 해줍니다.
      1. this 키워드는 TypeScript 및 JavaScript에서 현재 클래스의 인스턴스를 참조하는 데 사용됩니다
  3. 이하 나머지 코드는 동일하지만 new Employee() 선언시 ()안에 construtor에 필요한 arguments값들을 넣어줍니다.

0개의 댓글