타입스크립트 - 클래스

jihyo·2023년 9월 4일
0
post-thumbnail

클래스

타입스크립트에서 클래스 선언은 앞서 살펴본 함수의 타입 정의 방법과 크게 다르지 않다.

class Person {
  name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  sum(a: number, b: number): number {
    return a + b;
  }
}

name: string; 코드가 추가된 이유로는 생성자 메서드에 사용될 클래스 속성들을 미리 정의해야 하기 때문이다.

클래스 접근 제어자

  • 접근 제어자 : 클래스 속성의 노출 범위를 정의

접근 제어자의 필요성

여러 개의 객체를 다루다 보면 의도치 않게 특정 객체값이 바뀌는 상황이 발생할 수 있다. 이런 상황을 예방하기 위해 접근 제어자를 사용하면 에러 발생을 낮출 수 있다.

클래스 접근 제어자 종류

  • public
  • private
  • protected

public

클래스 안에 선언된 속성과 메서드에 어디서든 접근 가능하게 하며 기본값이다.

private

클래스 코드 외부에서 클래스의 속성과 메서드에 접근 불가하게 한다. 클래스 안의 로직을 단절시켜 보호할 때 사용한다.

protected

private과 유사한 점은 protected로 선언된 속성/메서드는 클래스 코드 외부에서 사용할 수 없지만 상속받은 클래스에서는 사용할 수 있다.

0개의 댓글