가만히 고민하다가 들게 된 생각 정리
자바스크립트의 class 문법에는 은닉화 가능한 방법이 없다.
원래의 객체지향 설계에서는 자바 같은 경우 private키워드로 인스턴스에서 클래스에 접근할 수 없도록 막는 방법들이 있다.
따라서 자바스크립트의 경우 lexical context를 활용한 클로저 패턴을 통해서만 변수의 은닉화가 가능하므로, 아무래도 이런 부분에서 클로저가 더 중요성을 갖는 것이 아닐까 생각해본다.
다만 타입스크립트에서는 private이나 protected 등의 방법으로 class에서도 은닉화할 수 있는 방법들이 있고 그러다보니 점점 더 타입스크립트가 선호되는 것이 아닐까 한다.