typescript class private, public, protected, readonly, getter, setter

SUNG JUN LEE·2023년 2월 20일
0

함수형으로 주로 작성하다 보니, 클래스에 대한 이해가 가물가물 하여 다시 새겨보자.

필드(프로퍼티) 혹은 메소드 앞에 private, public, protected를 추가할 수 있다.

private은 해당 클래스 내에서만 접근 가능하고 public은 어디서나
protected는 private 보다는 넓고 public 보다는 좁게 범위를 잡는다.
즉, Class에서 선언한 protected 프로퍼티가 있으면 그걸 상속받은 곳 에서도 접근이 가능하다.

=> 외부에서는 접근이 불가능 하다.

JS에서는 private으로 설정하고 싶다면 이름 앞에 #을 붙여서 사용한다.
protected의 경우 _ 을 붙여 사용한다.

읽기전용으로 만들고 싶다면 readonly를 앞에 붙여주면 된다.
readOnly의 경우 JS에서는 getter만 생성하고 setter를 생성하지 않으면 된다.

getter,setter example

class Test{
	priavte lastName: string;
    
	...

    get yourLastName() {
    	return this.lastName;
    }

	set writeLastName(name: string) {
      ...
    }
}

const person = new Test('Jun');
person.yourLastName; // () 사용 X, 메서드 방식으로 실행하는게 아니다.
profile
FE developer

0개의 댓글