타입스크립트(TS)에서 사용하는 접근 제어자(Access Modifier)에 대해서 정리를 하려고 합니다. public(어디서나 접근 가능), protected(해당 클래스 및 상속받는 자식 클래스 내에서만 접근가능), private(해당 클래스 내부에서만 접근 가능)
TS 접근 제어자 : 종류
■ 타입스크립트(TS)의 class 에서 사용할 수 있는 접근 제어자는 총 3가지 입니다.
접근 제어자 | 설명 |
---|
public | 어디서나 접근 가능(기본값, 명시 하지 않으면 public) |
protected | 해당 클래스 및 상속받는 자식 클래스 내에서만 접근 가능 |
private | 해당 클래스 내부에서만 접근 가능 |
<> ts
export class DataCleanupService {
private cleanupInterval: NodeJS.Timeout | null = null;
// public method: 외부에서 호출 가능
public startScheduler() {
console.log('Scheduler started');
}
// private method: 클래스 내부에서만 호출 가능
private stopScheduler() {
console.log('Scheduler stopped');
}
}
<> ts
const serviece = new DataCleanupService();
service.startScheduler() // 가능
service.stopScheduler() // 에러
1) 코드 설명
ⓐ private cleanupInterval: NodeJS.Timeout | null = null;
cleanupInterval : 속성이름
NodeJS.Timeout | null : NodeJS.Timeout : NodeJS.Timeout 값을 갖거나 또는 null 값을 갖는다
= null : 초기값 할당, 선언과 동시 null로 초기화 함.
ⓑ NodeJS.Timeout
Node.js 환경에서 setInterval 또는 setTimeout 같은 함수가 반환하는 타이머 객체의 타입
브라우저 환경에서는 number 이지만, Node.js 에서는 NodeJS.Timeout 타입이라고 함.
답글 남기기