비교한 내용을 표로 정리해보았습니다.
▼ 표 2-2 public, protected, private 비교
수식어 |
자신 class |
자손 class |
인스턴스 |
public |
O |
O |
O |
protected |
O |
O |
X |
private |
O |
X |
X |
자바스크립트에는 자체적으로 클래스의 private 속성을 나타내는 private field(#) 기능이 있습니다. 속성 앞에 #을 붙여 선언합니다. 타입스크립트에서도 private field를 사용할 수 있는데, 자신의 클래스에서만 사용할 수 있다는 점에서 private 수식어와 의도하는 바는 같습니다. 따라서 private 속성을 선언할 때 타입스크립트의 private을 사용할지 #을 사용할지 고민이 되는데, 둘의 차이점을 알아봅시다.