타입스크립트는 보다 객체 지향적으로 디자인되었습니다.
private
키워드에 대해 학습한다.interface
키워드에 대해 학습한다.private
인스턴스의 속성을 선언한 클래스 내에서만 접근 가능하게 해줍니다.
private
키워드가 붙은 프로퍼티는 _(언더바)를 붙이는것이 통상적이라고 합니다.
예시
// TypeScript
class Animal {
private _name: string;
constructor(theName: string) {
this._name = theName;
}
get getName(): string {
return this._name;
}
set setName(newName: string) {
this._name = newName;
}
}
const tiger = new Animal('tiger');
console.log(tiger.getName()); // 'tiger'
tiger.setName('cat');
console.log(tiger.getName()); // 'cat'
interface
키워드일종의 규약처럼 간주되어 구현하는 사람들이 이에 맞게 작성할 수 있도록 돕습니다.
실질적인 구현방법을 공개하지 않고 사용법을 노출시키기에 유리합니다.
API
가 이 속성의 대표적인 예가 됩니다.정의되는 interface
의 첫문자는 대문자로 쓰는 것이 통상적입니다.
예시
// TypeScript
interface ClockInterface {
currentTime: Date;
setTime(d: Date): void;
}
class Clock implements ClockInterface {
currentTime: Date = new Date();
setTime(d: Date) {
this.currentTime = d;
}
constructor(h: number, m: number) {}
}