1. ToDo
- Typescript 접근제한자 공부
2. 접근제한자 종류
(1) public
(2) protected
(3) private
(4) readonly
2. 접근제한자 특징
(1) public
- 언제 어디서든 접근할 수 있고 생략 가능한 default 값이다.
class Class {
value: string
construnctor(value: string) {
this.value = value;
}
public method() {
console.log(`Test : ${value}`);
}
}
const theClass = new Class(`theValue`);
theClass.method();
(2) protected
- protected는 같은 클래스 혹은 서브클래스의 인스턴스에서만 접근이 가능하다.
class Class {
constructor(public value: string) {}
method1() {
console.log(`theValue : ${this.value} / ${this.method2()}`);
}
protected method2() {
return `Value2`;
}
}
const publicValue = new Class('value_1');
publicValue.method1()
class SubClass extends Class {}
const subClass = new SubClass('value_2');
subClass.method1()
(3) private
class Class {
constructor(private value: string) {}
}
const value = new Class('value_1');
value.value;
class subClass extends Class {
constructor(public valud: string) {
super(value);
}
}
const value = new Class('value_2');
console.log(value['value']);
(4) readonly
- 이 외의 반드시 수정되면 안되는 변수가 있다면 readonly를 통해 선언해주어야 한다.
class Class {
readonly read_value: string = 'Test';
constructor(private value: string) {}
}
const value = new Class('value');
console.log(value.read_value);
value.read_value = 'value!!')