class Shape {
private _vertices: number = 3;
getVertices() {
console.log('Vertices getter called.');
return this._vertices;
}
setVertices(value) {
console.log('Vertices setter called.');
this._vertices = value;
}
}
읽기 접근을 위한 getter
class Shape {
constructor (public vertices: number) { }
get vertices(): number {
console.log('Vertices getter called.');
return 3;
}
}
const triangle: Shape = new Shape(3);
const vertices = triangle.vertices; // Vertices getter called.
console.log(vertices); // 3
쓰기 접근을 위한 setter
class Shape {
private _vertices: number = 3;
get vertices() {
console.log('Vertices getter called.');
return this._vertices;
}
set vertices(value) {
console.log('Vertices setter called.');
this._vertices = value;
}
}
const square = new Shape();
square.vertices = 4; // Vertices setter called.
const vertices = square.vertices; // Vertices getter called.
console.log(vertices); // 4
만약 게터만 존재하고 세터가 존재하지 않는 멤버의 경우, 읽기만 가능할 뿐 쓸 수단이 없다. 따라서 타입스크립트는 해당 멤버를 readonly 로 인식한다.
'TypeScript' 카테고리의 다른 글
인터페이스와 클래스의 관계 (0) | 2019.10.30 |
---|---|
추상 클래스 (0) | 2019.10.30 |
클래스 - 심화 - 접근 제어자 (1) | 2019.10.30 |
클래스 - 심화 - 스태틱 멤버 (0) | 2019.10.30 |
클래스 - 확장 (0) | 2019.10.30 |