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

SUNG JUN LEE·2023년 2월 20일

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

필드(프로퍼티) 혹은 메소드 앞에 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개의 댓글